Можно ли использовать модуль моделей 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
  • сделанные пули неправильны в url django
  • Добавление пользователей в группы в Django
  • Как сделать бесконечные потоковые комментарии
  • django post_save вызов изнутри отправки модели?
  • Как создать запрос с использованием моделей Django с группировкой, средним и «IN»
  • Написание тестовых примеров для моделей django
  • Хорошая практика для гибкой страницы поиска - Django
  • Как создать поле модели django, которое имеет значение по умолчанию, если оно когда-либо установлено в null
  • Установите Django IntegerField по выбору = ... name
  • Несколько полей в один столбец БД
  • Python - лучший язык программирования в мире.