定制Django管理界面
问题描述:
在Django Admin中,在更改列表视图中右上角有一个Add <model_name>
按钮。定制Django管理界面
有没有人有任何想法如何更改该按钮中的默认文本?
UPDATE
我想这个词Add
更改到别的
答
更改列表视图呈现django/contrib/admin/templates/admin目录中的change_list.html文件。
具体来说,你要修改的片段是
{% block content %}
<div id="content-main">
{% block object-tools %}
{% if has_add_permission %}
<ul class="object-tools">
{% block object-tools-items %}
<li>
<a href="add/{% if is_popup %}?_popup=1{% endif %}" class="addlink">
{% blocktrans with cl.opts.verbose_name as name %}Add {{ name }}{% endblocktrans %}
</a>
</li>
{% endblock %}
</ul>
{% endif %}
{% endblock %}
所以坏消息是,你的“添加”用户界面字符串,你可以看到的是硬编码。
好消息是,您仍然可以通过在您自己的项目模板/ admin /目录中创建自己的change_list.html模板来覆盖它。具体细节在这里解释在Django的文档: - https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-admin-templates
并特别是在你的情况下,它只是重写您自己的change_list.html文件的object-tools块。
答
东西是您的型号名称。默认情况下
的Django使用模型的类名,但您可以通过Meta.verbose_name
class MyModel(models.Model):
name = models.CharField()
class Meta:
verbose_name = u"a_new_name"
答
你需要更新你的Django管理模板更改。您正在寻找的模板是django/contrib/admin/templates/admin/change_list.html
。寻找addlink
,下面的行应该是要改变的词。
感谢您的回答。我也遇到了verbose_name,但我没有在我的问题中明确自己。我想改变整个文本。 – super9