【发布时间】:2012-10-18 19:52:33
【问题描述】:
要向模型的 Django 管理视图添加一些内容,我想覆盖 change_form.html 模板。根据documentation,我需要在文件夹/project-path/templates/admin/appname/modelname/ 中创建一个文件change_form.html。当然,我需要确保这条路径在TEMPLATE_DIRS 中也可用。这样的文件可能如下所示:
{% extends "admin/change_form.html" %}
{% load i18n %}
{% block after_field_sets %}
SOME CONTENT
{% endblock %}
但是,我使用django-guardian 来获得对象权限。这个 Django 应用程序也覆盖了change_form.html(效果很好——相关源似乎是here),但是 Django 没有选择我的模板扩展文件(即上面示例中的“某些内容”没有显示)。我想要覆盖的块/部分与 django-guardian 覆盖的块/部分不相同,最终我希望添加到 django-guardion 的change_form.html 和我的模板。
我在这里做错了什么?是否有可能让多个应用程序覆盖一个管理模板?
如果感兴趣,这是我的TEMPLATE_LOADERS 设置:
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader'
)
此外,django-guardian 是 INSTALLED_APPS 数组中的最后一个应用程序。
【问题讨论】:
标签: python django django-templates django-admin django-guardian