在 Django 中覆盖管理 css [英] Overriding admin css in django

查看:28
本文介绍了在 Django 中覆盖管理 css的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想更改管理 django 中的某些 css,如 base.css.是不是直接在django库里改比较好?如何以最佳方式覆盖它?

解决方案

这在很大程度上取决于您想要做什么.虽然首先:不要直接在 Django 管理中覆盖它.你有两个我认为合理的选择:

  1. 如果您想更改管理员的一般外观,您应该覆盖管理员模板.此处有详细介绍:覆盖管理模板.有时您可以扩展原始管理文件,然后覆盖 {% block extrastyle %}{% endblock %}django/contrib/admin/templates/admin/base.html 中的块 为例.
  2. 如果您的样式是特定于模型的,您可以通过 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:

  1. 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 %} in django/contrib/admin/templates/admin/base.html as an example.
  2. If your style is model specific you can add additional styles via the Media meta class in your admin.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆