【问题标题】:Using Django admin template tags使用 Django 管理模板标签
【发布时间】:2013-06-18 08:08:51
【问题描述】:

我想在Djnago 中使用contrib.admin 的模板标签。为此,在 settings.py 中向INSTALLED_APPS 添加了所需的内容。

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    ...
)

但是当我尝试使用其中一个标签时,它会显示Invalid block tag: 'x'。我尝试使用'search_form''admin_list_filter' 标签,但我看到了它们的错误。

{% block search %}{% search_form cl %}{% endblock %}

{% for spec in cl.filter_specs %}{% admin_list_filter cl spec %}{% endfor %}

我可能缺少什么?

谢谢

【问题讨论】:

    标签: django django-admin django-1.5


    【解决方案1】:

    来自 Django 管理员的模板标签并不是真正可重用的。要使用search_form 标签,您必须提供一个ChangeList 实例,它与Django 管理员紧密耦合。

    如果您能够重复使用该标签,您必须先load 标签库。 search_form 标签位于 django.contrib.admin.templatetags.admin_list 中。因此,您必须先加载admin_list 标签才能使用它。

    {% load admin_list %}
    {% search_form cl %}
    

    【讨论】:

    • 感谢您的解决方案。我还想问另一个关于tags 的问题。现在我可以通过加载admin_list.py 在我的自定义管理页面中使用它们。但我不能在管理员中使用htmlstatic files。我是否必须将我使用的文件从管理文件夹移动到我的静态文件夹?我不能不移动就使用它们。例如 search_form 返回一个 html 内容,但我猜它没有看到 admin/search_form.html 路径并且它什么也不返回
    • 您最好将其作为一个新问题提出。在 cmets 中回答太长太复杂了。
    • 对不起,我问了这个问题,它在stackoverflow.com/questions/17234813/…
    猜你喜欢
    • 2011-04-16
    • 2014-03-20
    • 2017-08-17
    • 2011-06-15
    • 2013-09-15
    • 2011-04-16
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    相关资源
    最近更新 更多