我有一个芹菜tasks.py
模块,它从./manage.py shell
命令内部导入时运行,但是当我直接从bash导入它时:
DJANGO_SETTINGS_MODULE="config.settings" python -c "from app.news.tasks import parse_feeds; parse_feeds()"
提出:
ImportError:无法导入名称标题。
我在两种模式下检查了sys.path
并且它们是相同的(除了与IPython无关的特定包)。
我应该提一下,我有另一个在两种模式下运行的任务模块。
编辑:这是我的匿名终端输出,了解更多详情:
(PROJECT)USER@HOST:~/projects/PROJECT/src$ DJANGO_SETTINGS_MODULE="config.settings" python -c "from app.news.tasks import parse_feeds; parse_feeds()"
/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/django/conf/urls/defaults.py:3: DeprecationWarning: django.conf.urls.defaults is deprecated; use django.conf.urls instead
DeprecationWarning)
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "app/news/tasks.py", line 10, in <module>
from .models import NewsEntry
File "app/news/models.py", line 5, in <module>
from cms.models.fields import PlaceholderField
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/cms/models/__init__.py", line 10, in <module>
from .permissionmodels import *
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/cms/models/permissionmodels.py", line 7, in <module>
UserModel = get_user_model()
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/django/contrib/auth/__init__.py", line 127, in get_user_model
user_model = get_model(app_label, model_name)
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/django/db/models/loading.py", line 230, in get_model
self._populate()
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/django/db/models/loading.py", line 75, in _populate
self.load_app(app_name)
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/django/db/models/loading.py", line 96, in load_app
models = import_module('.models', app_name)
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/djangocms_text_ckeditor/models.py", line 6, in <module>
from djangocms_text_ckeditor.utils import plugin_tags_to_id_list, replace_plugin_tags
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/djangocms_text_ckeditor/utils.py", line 6, in <module>
from cms.plugins.utils import downcast_plugins
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/cms/plugins/utils.py", line 11, in <module>
from cms.utils.moderator import get_cmsplugin_queryset
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/cms/utils/moderator.py", line 2, in <module>
from cms.models import PageModeratorState, CMSPlugin, Title
ImportError: cannot import name Title
修改2 :直接导入自定义User
模型,而不是原始get_user_model()
,从而制定解决方法。我知道这不是pythonic但是我很着急。
答案 0 :(得分:1)