【问题标题】:TemplateSyntaxError: inlines is not a valid tag libraryTemplateSyntaxError:内联不是有效的标签库
【发布时间】:2012-08-22 20:31:55
【问题描述】:

在构建我的 Django 应用程序时,我一直在使用来自 django-basic-app 的一些代码,尤其是 inlines 应用程序。

在我的blog 应用程序中,我将inlines 加载到模板中(此处为blog/templates/admin/blog/change_form.html

{% extends "admin/change_form.html" %}

{% block extrahead %}
  {% load adminmedia inlines %}
  {{ block.super }}

当我这样做时,我有一个错误

/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 检测到内联模型,我可以使用管理界面对其进行管理,只是模板标签失败了。

【问题讨论】:

    标签: django django-templates django-apps


    【解决方案1】:

    例如,尝试将 inlines.py 模块重命名为 inlines_tags.py,这样模块和包的名称就不会相同。并且不要忘记从 templatetags 文件夹中删除所有旧的 *.pyc 文件

    【讨论】:

    • 出于某种奇怪的原因,我的应用应该是 INSTALLED_APPS 中的第一个才能正常工作..
    猜你喜欢
    • 2011-11-11
    • 2011-05-31
    • 2012-04-02
    • 2012-03-21
    • 2021-09-09
    • 2019-09-19
    • 2017-06-12
    • 1970-01-01
    • 2021-03-20
    相关资源
    最近更新 更多