Django管理员 - 自定义change_form.html和第三方应用程序自定义change_form

时间:2016-07-15 09:53:54

标签: django templates

我目前正在自定义模型的管理模板,我遇到了继续使用django-importexport或django-modelclone等第三方模型的ModelAdmin问题。

这两个应用都来自change_list.htmlchange_form.html。它们中的每一个都延伸admin/change_list.htmladmin/change_form.html

所以我的模型管理员看起来像这样:

class MyModelAdmin(SuitObjectActionsMixin, ImportExportModelAdmin, ClonableModelAdmin):

我尝试通过将文件change_form.html添加到/templates/myapp/mymodel/来自定义我的ModelAdmin。我知道这应该适用于另一个不从任何第三方应用程序继承的管理员。

使用调试工具栏,看来所使用的模板是扩展标准django-modelclone的{​​{1}}而不是我创建的模板。

似乎第三方应用模板仅通过扩展标准模板覆盖任何“本地”自定义模板。

有没有一种干净的方法来解决这个问题?

1 个答案:

答案 0 :(得分:2)

您可以在ModelAdmin类中指定更改表单模板和更改列表模板:

class MyModelAdmin(A, B, C):
    change_form_template = 'path/to/my_change_form.html'
    change_list_template = 'path/to/my_change_list.html'

那个人在类似的情况下为我工作。