Можно ли использовать модуль моделей Django только в моем проекте?

Я разрабатываю небольшое независимое приложение python, которое использует Celery. Я построил это с использованием платформы django, но мое приложение только для завершения. Это означает, что пользователям не нужно посещать мой сайт, и мое приложение создается только для того, чтобы получать очередь задач из сельдерея и выполнять операции над базой данных. Для выполнения операций с базой данных мне нужно использовать модули Django.

То, что я пытаюсь сделать, это удалить остальную часть моего приложения django и использовать ТОЛЬКО модули для сельдерея и django (включая зависимости, необходимые для их запуска).

Короче говоря, мое простое приложение celery будет запускать инструкции от моего брокера redis и выполнять операции в базе данных с использованием моделей django.

Возможно ли это сделать? Если да, то как?

Вот моя структура проекта:

myproject/ --manage.py --myproject/ ----celery.py ----models.py ----settings.py ----tasks.py ----urls.py ----wsgi.py 

Вот мои settings.py:

3 Solutions collect form web for “Можно ли использовать модуль моделей Django только в моем проекте?”

вам просто нужно

 env['DJANGO_SETTING_MODULE'] = 'myproject.settings' django.setup() 

(предполагая, что вы настраиваете базу данных и файл installed_apps в settings.py)

В настройках вашего проекта. Просто добавьте это при начале.

 import django import os sys.path.insert(0, your_project_path) # Ensure python can find your project os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings' django.setup() 

Затем вы можете использовать django orm, не забудьте удалить промежуточное программное обеспечение, которое вам не нужно в настройках django.

У вас есть сценарий python, который требует некоторых задач сельдерея, и вам нужно Django ORM для взаимодействия с базами данных.

  1. Вы можете настроить проект django

  2. создайте приложение для своей цели, включите в settings.py и внутри своего приложения в models.py создайте необходимые модели. ref: Какие минимальные файлы мне нужно использовать django ORM

  3. Настройте среду для выполнения сельдерея. Т.е., redis server. интегрировать «djcelery» с проектом django. для целевого назначения сельдерея. вы можете использовать побочные эффекты сельдерея для периодических задач. или задержки. ref: http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html

  4. Вы можете импортировать и использовать модели django, как обычно, в задачах сельдерея.

  5. Задачи сельдерея, которые вы можете использовать, используя

    я. celery -A tasks worker –loglevel = info

    II. сельдерей – задачи бить -l info. используйте биты, если вам нужны задачи, которые записываются для периодического выполнения.

  6. Если задачи должны выполняться асинхронно сразу или через промежуток времени, вы можете использовать task_name.delay () вызов задач внутри скрипта python с помощью delay (), я думаю, что для использования djcelery в вашем скрипте вам может понадобиться настроить django env внутри скрипта. просто сделайте django.setup ().

Я думаю, что это поможет вам решить вашу проблему.

  • Сигналы, зарегистрированные более одного раза в django1.1 testserver
  • Как изменить модель Django?
  • Модели Django: Наследование и преемственность предков
  • Как добавить ссылку с страницы администрирования Django одного объекта на страницу администратора связанного объекта?
  • Django easy-thumbnails МАКСИМАЛЬНЫЙ РАЗМЕР
  • Общее отношение «один-к-одному» в Django
  • Получить все связанные объекты модели Django
  • Поле модели Django По умолчанию для Null
  •  
    Interesting Posts for Van-Lav

    Как проверить, является ли одна строка подпоследовательностью другой?

    Использование urllib.urlretrieve для загрузки файлов через HTTP не работает

    Получение ошибки во время syncdb django.db.utils.ProgrammingError: разрешение отклонено для отношения django_migrations

    Работа с ключами unicode в словаре python

    Является ли путь нарушенным для anaconda ipython?

    Как проверить на python, что файл в папке изменился?

    изменять цвет каждого бара на барграфе с использованием определенного значения

    Необходимо избегать взаимоблокировки подпроцесса без связи

    Как отключить предупреждения python

    Python Regular Expression Match Все 5 цифр, но не больше

    Остановить выполнение команды в консоли PyDev

    Замените все акцентированные символы их эквивалентом LaTeX

    Эффективность соответствия Trie tree в поиске слов

    Какие объекты гарантированно имеют различную идентичность?

    Получить вершины на LineString по обе стороны точки

    Python - лучший язык программирования в мире.