Django admin - 自定义change_form.html和第3方应用程序自定义change_form

标签 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。我知道这应该像另一个不从任何第三方应用程序继承的管理员一样工作。

使用调试工具栏,似乎使用的模板是扩展标准 change_form.htmldjango-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/

相关文章:

python,哈希函数选择

c++ - 停止转到优化 g

c++ - 为什么我不能将函数指针作为模板参数传递给 map ?

c++ - 模板特化

javascript - 从 javascript 函数生成 django HTML URL

python - Django 测试用例无法运行方法

python - Django 迁移和可定制的可重用应用程序

c++ - 模板类偏特化语法

c++ - 具有模板化参数的类函数偏特化

django - 使用 LDAP 身份验证但使用 ModelBackend 授权