我有一个django应用程序,我添加了芹菜。在django应用程序中,我有一个名为'parser'、'api'models.py’。你有'task.py'包‘api’吗。当我尝试在api包中执行"从解析器导入模型"时。我得到以下错误:没有模块命名的型号
我查看并发现以下导入文件:lib/python2.7/lib-dynload/parser.x86_64-linux-gnu.so
webapp/
manage.py
api/
__init__.py
models.py
views.py
tasks.py
...
parser/
__init__.py
models.py
views.py
...
settings/
__init__.py
base.py
celery.py
dev.py
live.py
local.py
urls.py
wsgi.py
以防我需要解析器包的"models.py"。用于启动芹菜的命令如下:celery -A settings worker --loglevel=info
。当我在manage.py中运行芹菜时,取正确的文件:python manage.py celery -A settings worker --loglevel=info
api/task.py
from __future__ import absolute_import, division, print_function, unicode_literals
import time
from celery import task
from parser.models import FileUploadProcess # Error import
@task()
def test_task(param1):
print("Test task called. Param: {}".format(param1))
return 42
@task()
def parse_file(file_candidate, candidate_id):
FileUploadProcess(candidate_id=candidate_id, is_process=True).save()
# parse file
time.sleep(15)
FileUploadProcess.objects.filter(candidate_id=candidate_id).update(is_process=False)
可以告诉我进口正确的包装吗?
"来自解析程序导入模型"
你需要使用is so:
from parser.models import ClassName
其中ClassName是要导入的类的名称
或者只是
import parser.models as models