我目前正在自定义模型的管理模板,并且遇到了继承 django-importexport 或 django-modelclone 等第三方模板的 ModelAdmin 问题。
这两个应用程序都带有 change_list.html
或 change_form.html
。它们每个都扩展 admin/change_list.html
或 admin/change_form.html
。
所以我的模型管理员看起来像这样:
class MyModelAdmin(SuitObjectActionsMixin, ImportExportModelAdmin, ClonableModelAdmin):
我尝试将文件 change_form.html
添加到 /templates/myapp/mymodel/
中来自定义 ModelAdmin。我知道这应该像另一个不从任何第三方应用程序继承的管理员一样工作。
使用调试工具栏,似乎使用的模板是扩展标准 change_form.html
的 django-modelclone
模板,而不是我创建的模板。
似乎第 3 方应用程序模板只需扩展标准模板即可覆盖任何“本地”自定义模板。
有没有一种干净的方法来解决这个问题?
最佳答案
您可以在 ModelAdmin 类中指定更改表单模板和更改列表模板:
class MyModelAdmin(A, B, C):
change_form_template = 'path/to/my_change_form.html'
change_list_template = 'path/to/my_change_list.html'
那个在类似的情况下为我工作。
关于Django admin - 自定义change_form.html和第3方应用程序自定义change_form,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38393137/