Python 未解析引用';型号';

Python 未解析引用';型号';,python,django,Python,Django,我正在编写自定义模板标记,出现错误“未解析的引用‘模型’” 以下是我的blog_tags.py from django import template from .models import Post register = template.Library() @register.simple_tag def total_posts(): return Post.published.count() 我的目录树如下 blog/ __init__.py models.py

我正在编写自定义模板标记,出现错误“未解析的引用‘模型’” 以下是我的blog_tags.py

from django import template

from .models import Post

register = template.Library()


@register.simple_tag
def total_posts():
    return Post.published.count()
我的目录树如下

blog/
  __init__.py 
  models.py 
  ...
  templatetags/
     __init__.py
     blog_tags.py
在我的模特身上,我有一门博士后课程

当我点击pycharm的提示“InstallPackagePost”时,安装完成后,错误消失了。
我想知道,每次我想在模型中编写一个随类演化的自定义标记时,我是否也必须这样做,即通过IDE安装包?

如果我正确解释了您的项目结构,那么您的
模型
模块位于相对于
blog\u标记的父包中。访问
.models
将尝试在
模板标签
包中查找模块

请尝试将您的导入更改为:

from ..models import Post

如果我正确解释了您的项目结构,则您的
模型
模块位于相对于
blog\u标记
的父包中。访问
.models
将尝试在
模板标签
包中查找模块

请尝试将您的导入更改为:

from ..models import Post

使用
app
名称空间而不是相对导入导入导入模型,以便维护标准结构

from django import template

# blog is your app name
from blog.models import Post

register = template.Library()


@register.simple_tag
def total_posts():
    return Post.published.count()

请检查django项目中与pycharm相关的未解决错误问题

使用
app
名称空间而不是相对导入导入导入您的模型,以便维护标准结构

from django import template

# blog is your app name
from blog.models import Post

register = template.Library()


@register.simple_tag
def total_posts():
    return Post.published.count()

请检查与Django项目中的PyGror有关的未解决的错误问题

,因为这是Django,如Django循环导入可能是一个问题,请考虑动态加载模型:

对于django 1.7+,请使用:

对于早期版本:

from django.db.models.loading import get_model
Post = get_model('blog', 'Post')

<强>注:只在“blog”是安装的应用程序时工作。

< P>这是Django,如Django循环导入可能是一个问题,考虑动态加载模型:

对于django 1.7+,请使用:

对于早期版本:

from django.db.models.loading import get_model
Post = get_model('blog', 'Post')

注意:这仅在“blog”是已安装的应用程序时有效。

如果要进行相对导入,请尝试以下操作:
从blog.models导入Post
从..models导入Post
表示来自同一文件夹,因此它在
templatetags
中查找,其中没有
models.py
@nik_m我尝试了blog.models,但它不起作用,但是..modelsworked@jojo谢谢你,模型成功了,我从中学到了很多!尝试以下操作:
from blog.models import Post
from..models import Post
如果要进行相对导入
表示来自同一文件夹,因此它在
templatetags
中查找,其中没有
models.py
@nik_m我尝试了blog.models,但它不起作用,但是..modelsworked@jojo谢谢你,模型成功了,我从中学到了很多!很抱歉,什么是循环导入?很抱歉,什么是循环导入?我已尝试使用blog.models,但它不起作用。还有..models workedi support@jojo的答案我已经尝试过blog.models了,但它不起作用。还有..模型workedi支持@jojo的答案