Django admin-自定义更改表单.html和第三方应用程序自定义更改表单
我目前正在自定义模型的管理模板,但ModelAdmin继承了第三方模型,如django importexport或django modelclone,我遇到了一个问题 这两个应用程序都带有Django admin-自定义更改表单.html和第三方应用程序自定义更改表单,django,templates,Django,Templates,我目前正在自定义模型的管理模板,但ModelAdmin继承了第三方模型,如django importexport或django modelclone,我遇到了一个问题 这两个应用程序都带有change\u list.html或change\u form.html。它们分别扩展了admin/change\u list.html或admin/change\u form.html 因此,我的模型管理员如下所示: class MyModelAdmin(SuitObjectActionsMixin, Im
change\u list.html
或change\u form.html
。它们分别扩展了admin/change\u list.html
或admin/change\u form.html
因此,我的模型管理员如下所示:
class MyModelAdmin(SuitObjectActionsMixin, ImportExportModelAdmin, ClonableModelAdmin):
我试图通过将文件change\u form.html
添加到/templates/myapp/mymodel/
中来定制我的ModelAdmin。我知道这应该像其他管理员一样,不会从任何第三方应用程序继承
使用调试工具栏,似乎使用的模板是扩展标准change\u form.html
的django modelclone
模板,而不是我创建的模板
似乎第三方应用程序模板仅通过扩展标准模板就可以覆盖任何“本地”自定义模板
有没有干净的方法可以解决此问题?您可以在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 modelclone
只需在其change\u form.html
中添加一个操作按钮,我仍然希望在我的自定义模板中使用该按钮。如果您指的是管理操作,那么如果您放置自己的模板,您将拥有该按钮。如果它更复杂,您可以复制modelclone或其他电池的html模板并对其进行自定义。例如,我是用Grapelli做的。忘了回复对不起。。。最后,按照您的建议,将第三方应用程序的HTML直接添加到模板中