Я использую Django-Celery впервые.Когда я пытаюсь выполнить следующую команду:
celery -A MyProject worker -l info
я получаю это сообщение об ошибке:
ImportError: No module named MyProject
MyProject / MyProject / init .py:
from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app
__all__ = ['celery_app']
MyProject / MyProject / celery.py:
from __future__ import absolute_import
import os
import sys
from celery import Celery
from django.conf import settings
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'MyProject.settings')
app = Celery('MyProject')
app.config_from_object('django.conf:settings', namespace='CELERY')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'MyProject.settings')
sys.path.insert(0,os.path.abspath(os.path.join(os.path.dirname(__file__),'../MyProject')))
app.autodiscover_tasks()
MyProject / MyProject / settings.py;Я включил строку ниже:
CELERY_BROKER_URL = 'amqp://localhost'
Моя структура проекта Django выглядит следующим образом:
- Мой проект
- Мой проект
- init .py
- celery.py
- settings.py
- urls.py
- wsgi.py
- Myapp
- миграций /
- шаблонов /
- init .py
- admin.py
- apps.py
- forms.py
- models.py
- tasks.py
- tests.py
- urls.py
- views.py
- db.sqlite3
- manage.py