首页 >web前端 >css教程 >如何在不进行重大更改的情况下自定义 Django 管理样式?

如何在不进行重大更改的情况下自定义 Django 管理样式?

Linda Hamilton
Linda Hamilton原创
2024-11-05 10:39:02247浏览

How to Customize Django Admin Styles Without Breaking Changes?

保留 Django Admin 样式:CSS 覆盖指南

在 Django Admin 中覆盖 CSS 是自定义界面外观的常见必要条件。但是,避免直接更改 Django 库至关重要。本文探讨了在 Django Admin 中覆盖 CSS 的最佳实践。

选项 1:管理模板覆盖

如果您的目标是修改 Django Admin 的整体外观和感觉管理界面,覆盖管理模板是推荐的方法。通过扩展原始管理文件,您可以有选择地覆盖特定的 CSS 块。例如,您可以覆盖 Django 的 base.html 文件中的 extrastyle 块来注入您自己的样式。

选项 2:模型特定的 CSS 覆盖

对于模型 -特定的 CSS 自定义,使用 admin.py 文件中的 Media 元类是一个有效的解决方案。通过 Media 类将 CSS 文件与特定模型关联起来,您可以仅将独特的样式应用于这些模型。

例如:

<code class="python">class MyModelAdmin(admin.ModelAdmin):
    class Media:
        js = ('js/admin/my_own_admin.js',)    
        css = {
             'all': ('css/admin/my_own_admin.css',)
        }</code>

在此场景中,CSS 文件 my_own_admin.css仅当编辑或查看由 MyModelAdmin 管理的模型实例时才会加载。

避免直接修改

强烈建议不要直接修改 Django 的 base.css 或其他库文件。这些更改在 Django 升级过程中很容易被覆盖,从而使维护自定义变得困难。

通过遵循上述方法,您可以安全有效地覆盖 Django Admin 中的 CSS,保留原始库的完整性并确保您的自定义在 Django 版本升级过程中仍然存在。

以上是如何在不进行重大更改的情况下自定义 Django 管理样式?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn