在构建我的Django应用程序时,我一直在使用Django基本应用程序中的一些代码,特别是inlines
应用程序。
在我的blog
应用程序中,我在模板(此处为blog/templates/admin/blog/change_form.html
)中加载inlines
{% extends "admin/change_form.html" %}
{% block extrahead %}
{% load adminmedia inlines %}
{{ block.super }}
当我这样做的时候,我有一个错误
TemplateSyntaxError at/admin/blog/post/1/
"inlines"不是有效的标记库:ImportError引发加载inlines.templatetags.inlines:没有命名为模型的模块
项目结构为
blog/
templates/admin/blog/
change_form.html
...
inlines/
__init__.py
models.py
templatetags/
__init__.py
inlines.py
...
并在inlines/templatetags/inlines.py
中导入
from django import template
from inlines.models import InlineType
from inlines.parser import inlines
import re
inlines
出现在INSTALLED_APPS
中,我正在使用Django 1.4和python 2.7
我正在尝试一个独立的应用程序(当时没有链接到项目),但我不明白为什么博客应用程序没有检测到它。内联模型是由django检测到的,我可以使用管理接口来管理它,只是templatetag失败了。
例如,尝试将inlines.py
模块重命名为inlines_tags.py
,这样模块和包的名称就不一样了。不要忘记从模板标签文件夹中删除所有旧的*.pyc
文件