2015-10-06 286 views
2

我使用Django框架Python写的应用程序,我试图找出是否有修改现有的Django管理应用程序模板(change_form.html,base_site.html ...)的可能性一个特定的模块。在文件夹项目中,我已经将模板/管理目录放在了我修改管理应用程序模板的地方,但对于一个特定的模块,我希望使用不同的模板。该特定模块位于一个单独的应用程序中。修改Django管理模板

我会很感激,如果你可以让我知道我能做到这一点,或至少指向我的文档在哪里可以找到它。

非常感谢您提前。

回答

0

您可以覆盖ModelAdmin level,而不是仅仅通过覆盖模板/命名空间中的模板。

编辑:我刚才注意到你正在寻找到可能具有的每个模块特定的非对象的模板页面(至少base_site.html)多个版本。如果没有customizing AdminSite,我不确定你能做到这一点。您还可以注册多个管理网站,但其用处取决于您的具体情况。

2

您可以通过在你想要它来定制它的水平覆盖的特定模板做到这一点。例如,如果你想修改你的应用程序change_form.html您可以创建(或从contrib请/管理/模板复制change_form.html ...)模板在模板/管理/ yourapp/change_form.html。对于您应用中的模型,您可以将其放置在模板/ admin/yourapp/yourmodel/change_form.html中。你可以找到更多信息here

从上面的链接:

例如,如果我们想要一个工具在一个应用程序命名my_app应用添加到改变列表视图为所有的车型,我们将复制的contrib /admin/templates/admin/change_list.html添加到我们项目的templates/admin/my_app /目录中,并进行必要的更改。

如果我们想要一个工具添加到改变列表视图只名为“页面”一个特定的模式,我们会复制同样的文件模板/管理/程序my_app /页我们项目的目录。