保留 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中文网其他相关文章!