使用Django管理模板标签

时间:2013-06-21 08:46:35

标签: django django-admin django-1.5

我想在contrib.admin中使用Djnago的模板标记。要执行此操作,请在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 %}

我可能缺少什么?

谢谢

1 个答案:

答案 0 :(得分:1)

Django管理员的模板标签实际上不可重复使用。要使用search_form标记,您必须提供一个ChangeList实例,该实例与Django管理员紧密耦合。

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

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