我正在尝试导入名为BlogDetails
的模型类,以便在我的自定义模板标记页中使用。
这是我的应用程序的结构:
appname (directory)
-->core (directory)
-->models.py (file)
-->templatetags (directory)
-->customised_template_tags.py (file)
以下是customised_template_tags.py
文件中的import语句。这与我在视图文件中使用的其他import语句的结构相同:
import datetime
import os
from django import template
from django.conf import settings
from django.templatetags.static import static
from django.utils.safestring import mark_safe
from django.utils.translation.trans_real import gettext
from appname.common.utils import get_supported_language_code
from appname.core.models import BlogDetails
register = template.Library()
以下是导入models.py
文件中代码的customised_template_tags.py
文件第76行(在错误消息中提到)的import语句:
from appname.core.templatetags.customised_template_tags import absolute_static, alternative_file, \
file_url
以下是错误消息:
File "C:\Users\me\desktop\appname\appname\core\models.py", line 76, in <module>
from appname.core.templatetags.customised_template_tags import absolute_static, alternative_file, \
File "C:\Users\me\desktop\appname\appname\core\templatetags\customised_template_tags.py", line 11, in <module>
from appname.core.models import BlogDetails
ImportError: cannot import name 'BlogDetails'
我已重新启动了我的开发服务器,并且我已阅读此thread并按照答案中的建议进行操作,并且我还阅读了django docs。
有人可以建议解决我的问题吗?
答案 0 :(得分:4)
您进行循环导入:
appname.core.models
尝试导入appname.core.templatetags.customised_template_tags
appname.core.templatetags.customised_template_tags
尝试导入appname.core.models
appname.core.models
尚未加载,因此无法导入,因此无效。快速修复:
在标记功能中导入模型。
或者相反,只在您使用它的函数中导入标记。