我正在使用Django Framework在python中编写应用程序,我试图弄清楚是否有可能修改特定模块的现有django管理应用程序模板(change_form.html,base_site.html ...)。在文件夹项目中,我已将模板/管理目录放在我修改管理员应用程序模板的位置,但对于一个特定模块,我想使用不同的模板。特定模块位于单独的应用程序中。
如果您能告诉我如何实现这一目标,或者至少指出我可以找到它的文档,我将非常感激。
非常感谢你。
答案 0 :(得分:2)
您可以通过在要自定义它的级别覆盖特定模板来完成此操作。例如,如果您要修改应用的 change_form.html ,则可以在 templates / admin /中创建(或从contrib / admin / templates中复制change_form.html)模板yourapp / change_form.html 即可。对于应用中的模型,您可以将其放在 templates / admin / yourapp / yourmodel / change_form.html 中。您可以找到更多信息here
从上面的链接:
例如,如果我们想要为名为my_app的应用中的所有模型添加工具到更改列表视图,我们会将contrib / admin / templates / admin / change_list.html复制到templates / admin / my_app /我们项目的目录,并进行必要的更改。
如果我们想要仅为名为“Page”的特定模型向变更列表视图添加工具,我们会将该文件复制到项目的templates / admin / my_app / page目录中。
答案 1 :(得分:0)
您可以覆盖How can I learn whether a particular package exists on my Android device?,而不是仅按模板/命名空间覆盖模板。
编辑:我刚注意到您希望每个模块可能有多个版本的非特定于对象的模板页面(至少是base_site.html)。如果没有ModelAdmin level,我不确定你能做到这一点。您还可以注册多个管理站点,但有用性取决于您的具体情况。