【问题标题】:How to override Django admin delete_selected_confirmation.html如何覆盖 Django 管理员 delete_selected_confirmation.html
【发布时间】:2020-10-20 15:35:31
【问题描述】:

在我的 Django 管理员中。如果我删除超级管理员或超级管理员创建的用户中的任何内容,它会显示一个确认页面。我在我的管理员下的模板和我的另一个应用程序中都有delete_confirmation.html

如果我更改其中的任何内容或添加一行,它不会更改,而且它会在我的页面中显示我不想要的对象。我不知道如何覆盖它。请参考图片。 My delete confirmation page

【问题讨论】:

    标签: django django-views


    【解决方案1】:

    要覆盖 django 项目中的任何模板,您需要在项目的模板目录中复制模板的路径。

    此模板位于contrib/admin/templates/admin/delete_confirmation.html

    因此,在您的模板目录中创建一个名为admin 的目录,然后在其中创建delete_confirmation.html。这会覆盖模板中的 django 模板路径。

    然后,您可以在其中放入任何您想要的内容,并对已安装包中的任何其他模板重复此操作。

    关于覆盖管理模板的文档; https://docs.djangoproject.com/en/3.0/ref/contrib/admin/#admin-overriding-templates

    【讨论】:

    • 我已经把它放在我的 admin 目录下的模板中仍然没有更改。我应该在我的 admin.py 中覆盖它还是做类似的事情
    • 不,如果您创建一个具有相同名称的模板,在相同的路径中,那么应该使用它来代替。也许您的模板设置正在做一些事情来阻止它被加载。
    • 还有另一个 pagination.html,如果我在其中进行更改,它会被更新,但如果是 delete_confirmation.html,它不会被更新。有没有办法通过 def delete_view 或其他方法来做到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-09
    • 2016-09-04
    • 1970-01-01
    • 2019-07-16
    • 2013-02-18
    • 2018-02-06
    • 1970-01-01
    相关资源
    最近更新 更多