Django管理命令导入错误
我在我的 qsl/management/commands/<customcommand>.py
文件中导入模块时遇到了问题。实际上,我的应用结构是:
qsl/management/commands/ : dir for my management commands
qsl/management/jobs/ : dir for my mangement jobs
这些工作是 Python 类,里面包含了我希望在相应命令中完成的任务。
比如:
news command in qsl/management/commands/ imports news job in qsl/management/jobs/
当我想执行 python manage.py news
时,出现的错误是 importerror : no module named management.jobs.news
。
2 个回答
0
如果文件或目录结构中的“isn’t”不是个拼写错误,那么你可能是在用pip安装时遇到了问题?
在你的 setup.py
文件中,找到 packages=[]
这一行,确保你在里面加上
qsl.management
和 qsl.management.commands
。这样做解决了我的问题。
10
确保所有的文件夹里都有一个叫做 __init__.py
的文件,这样它们才能被当作模块导入。
关于这个结构的详细说明可以在这里找到: https://docs.djangoproject.com/en/dev/howto/custom-management-commands/
你的文件夹结构大概应该是这样的:
qsl/
__init__.py
models.py
management/
__init__.py
commands/
__init__.py
news.py
jobs/
__init__.py
news.py
tests.py
views.py