Django admin:每个应用程序都有不同的自定义base_site.html
嗨,我一直在尝试自定义我的管理页面,我有一些特定于应用程序的管理页面,需要自定义javascript和css。我希望在每个应用程序的模板/admin/中包含不同的base_site.html,包括所需的javascript和css。问题是,只显示第一个注册应用程序的base_site.html的更改(在settings.py文件中)Django admin:每个应用程序都有不同的自定义base_site.html,django,django-admin,Django,Django Admin,嗨,我一直在尝试自定义我的管理页面,我有一些特定于应用程序的管理页面,需要自定义javascript和css。我希望在每个应用程序的模板/admin/中包含不同的base_site.html,包括所需的javascript和css。问题是,只显示第一个注册应用程序的base_site.html的更改(在settings.py文件中) 我为每个应用定制base_site.html的方法正确吗?如果是,我如何使其工作 如何只在一些管理页面中包含css和js 多谢各位 -app1 -tem
- 我为每个应用定制base_site.html的方法正确吗?如果是,我如何使其工作
- 如何只在一些管理页面中包含css和js
-app1
-templates
-admin
-base_site.html
-app2
-templates
-admin
-base_site.html
-app3
-templates
-admin
-base_site.html
-manage.py
如果您只想向管理员添加一些自定义javascript和css,那么最好使用ModelAdmin资产定义。更多信息,请参阅。大概是这样的:
class ArticleAdmin(admin.ModelAdmin):
class Media:
css = {
"all": ("my_styles.css",)
}
js = ("my_code.js",)
至于base_site.html,您将无法为每个应用程序覆盖它,它是通用模板而不是特定于应用程序的模板。但无论如何,您可以基于每个应用程序甚至每个模型覆盖/扩展change_form.html和change_list.html模板。树应如下所示:
-app1
-templates
-admin
-app1
-change_form.html
-change_list.html
如果使用扩展而不是重写,则可以使用extrahead
和extrastyle
块访问标题
/app1/templates/admin/app1/change\u form.html
{% extends "admin/change_form.html" %}
{% block extrahead %}
{{ block.super }}
... your code here ...
{% endblock %}