在 Django Admin 中覆盖 CSS:直接修改是最好的方法吗?
在 Django 管理界面中修改 CSS 可以增强外观和用户体验经验。然而,问题出现了:直接编辑 Django 库中的 base.css 文件是最有效的方法吗?
CSS 定制的替代解决方案
还有更合适的在 Django Admin 中覆盖 CSS 并保持基本代码完整性的方法:
1.覆盖管理模板
对于一般外观更改,覆盖 Django 的管理模板是推荐的方法。扩展原来的管理模板并修改特定块,例如base.html中的extrastyle块。有关模板覆盖的详细指导,请参阅 Django 文档。
示例:
{% extends "django/contrib/admin/templates/admin/base.html" %} {% block extrastyle %} <style> /* Custom CSS code here */ </style> {% endblock %}
2.通过媒体元类进行自定义
对于特定于某些模型的样式,admin.py 文件中的媒体元类允许您添加自定义 CSS 和 JavaScript:
示例:
<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>
替代方法的优点:
结论
虽然直接修改 Django 的 base.css 文件可能很诱人,但覆盖管理模板或使用媒体元类是自定义 Django 管理界面外观的更谨慎和可持续的方法。这些方法提高了代码的可维护性、增加了灵活性并促进了协作。
以上是直接修改 base.css 是在 Django Admin 中覆盖 CSS 的最佳方式吗?的详细内容。更多信息请关注PHP中文网其他相关文章!