在 Django 中覆盖管理 css [英] Overriding admin css in django
本文介绍了在 Django 中覆盖管理 css的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想更改管理 django 中的某些 css,如 base.css.是不是直接在django库里改比较好?如何以最佳方式覆盖它?
解决方案
这在很大程度上取决于您想要做什么.虽然首先:不要直接在 Django 管理中覆盖它.你有两个我认为合理的选择:
- 如果您想更改管理员的一般外观,您应该覆盖管理员模板.此处有详细介绍:覆盖管理模板.有时您可以扩展原始管理文件,然后覆盖
{% block extrastyle %}{% endblock %}
在django/contrib/admin/templates/admin/base.html 中的块
为例. - 如果您的样式是特定于模型的,您可以通过
admin.py
中的Media
元类添加其他样式.在此处查看示例:
<块引用>
class MyModelAdmin(admin.ModelAdmin):课堂媒体:js = ('js/admin/my_own_admin.js',)css = {'全部':('css/admin/my_own_admin.css',)}
I want to change certain css in admin django like base.css. Is it better to change directly in the django library? How can I override it in the best way?
解决方案
It depends a lot of what you want to do. Though first of all: do not overwrite it in the Django admin directly. You got two options I think are reasonable:
- If you want to change the appearance of the admin in general you should override admin templates. This is covered in details here: Overriding admin templates. Sometimes you can just extend the original admin file and then overwrite a block like
{% block extrastyle %}{% endblock %}
indjango/contrib/admin/templates/admin/base.html
as an example. - If your style is model specific you can add additional styles via the
Media
meta class in youradmin.py
. See an example here:
class MyModelAdmin(admin.ModelAdmin): class Media: js = ('js/admin/my_own_admin.js',) css = { 'all': ('css/admin/my_own_admin.css',) }
这篇关于在 Django 中覆盖管理 css的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文