在任何解释之前,这里是我的项目树
| projectname
|____|__init__.py
|____|celery.py
|____|settings.py
|____|urls.py
|____|wsgi.py
|app1
|app2
这是我的芹菜.py在
^{pr2}$每次我尝试将models
导入到celery.py
文件时,我得到的是:
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
本地服务器突然停止工作。 This post与一个类似的问题有关,但不确定是否是这种情况。在
我想要的是导入一些模型到文件中,这样我就可以使用它们进行一些查询。
我有一点线索,但不确定。在
views
从models.py
views
从celery.py
导入需要执行的任务celery.py
尝试从models
导入内容。在
所以那个像蛇咬自己尾巴的圆圈对我来说很奇怪。在
问题是当您试图在Django加载configuration()之前上载任务时,
^{pr1}$ ^{pr2}$Off-course Celery将检测}的所有内容,以便让Django在每次项目启动时加载它们(celeri stuff,…)。在
celery.py
文件中的任务,请记住,您已经导入了从celery.py
到{初始化py
所以在这个例子中,您要导入}中的应用程序尚未构建。在
celery.py
文件中的模型,比如说__init.py__
,您的模型将在Django加载其配置之前导入,而您的{不应将Django应用程序填充导入到
__init__.py
文件中,模块/应用程序是在Django加载配置之前生成的(设置.py),如果您尝试像__init__.py
文件中的models
那样上传,则会引发一个错误应用程序尚未加载。在根据the documentation的说法,Celery
app.autodiscover_tasks()
能够在settings.INSTALLED_APPS
中发现任何注册良好的应用程序中的所有任务。不要在celery.py
中导入任务,只需在所有应用程序中创建一个tasks.py
文件。在相关问题 更多 >
编程相关推荐