我正在寻找一种方法来在我的django管理网站中小写模型的第一个字母。
即: model verbose name是" agent-1.0.0"显示为" Agent-1.0.0"在仪表板上,
简单但IDK
grappelli技巧对我也有用。
django - 1.7.1
也 - 只需要一个应用模型组 - 不是我的所有仪表板都应该是小写的... 所以,覆盖index.html效率不高
答案 0 :(得分:2)
大写字母为hard-coded in the template,与templates in Grappelli相同。
您可以使用catavaran的建议,但这将转换每个模型名称。覆盖模板是一个巨大的痛苦,以维持这么小的东西。
我能想到的唯一可行解决方案是绕过带有空格的capfirst
过滤器:
class Meta:
verbose_name = " agent-1.0.0"
由于capfirst
仅强制使用第一个字符,如果第一个字符不是字母,则不会发生任何事情。
答案 1 :(得分:1)
模型名称作为capfirst(model._meta.verbose_name_plural)
传递给模板,因此您必须在admin/index.html
模板或CSS中将其小写。 Imho CSS选项更简单:
div.module tr[class^=model-] th {
text-transform: lowercase;
}
如果你只需要小写一些模型(例如User
),那么将CSS选择器更改为:
div.module tr.model-user th {
text-transform: lowercase;
}
答案 2 :(得分:0)
使用Grapelli,您可以通过运行:
创建自定义仪表板 python manage.py customdashboard
并将您设置的GRAPPELLI_INDEX_DASHBOARD设置为自定义类。
您可以从grappelli提供的Dashboard类扩展此自定义类,并根据您的需要覆盖它。请特别注意ModelList类,您可以在其中为模型指定所需的标题。