【发布时间】:2011-09-06 07:46:35
【问题描述】:
在 Django Admin 中,在更改列表视图的右上角有一个 Add <model_name> 按钮。
有人知道如何更改该按钮中的默认文本吗?
更新
我想把Add这个词改成别的词
【问题讨论】:
标签: django django-admin
在 Django Admin 中,在更改列表视图的右上角有一个 Add <model_name> 按钮。
有人知道如何更改该按钮中的默认文本吗?
更新
我想把Add这个词改成别的词
【问题讨论】:
标签: django django-admin
changelist 视图呈现 django/contrib/admin/templates/admin 目录中的 change_list.html 文件。
具体来说,你要修改的sn-p是
{% 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 %}
因此,坏消息是您所看到的“添加”用户界面字符串是硬编码的。
好消息是,您仍然可以通过在自己的项目 templates/admin/ 目录中创建自己的 change_list.html 模板来覆盖它。具体细节在 django 文档中进行了解释:- https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-admin-templates
特别是在您的情况下,它只是在您自己的 change_list.html 文件中覆盖 object-tools 块。
【讨论】:
您需要更新您的 Django 管理模板。您要查找的模板是django/contrib/admin/templates/admin/change_list.html。查找addlink,下面的那一行应该是要更改的单词。
【讨论】:
这是您的模型的名称。
Django默认使用模型的类名,但是你可以通过Meta.verbose_name
来改变它class MyModel(models.Model):
name = models.CharField()
class Meta:
verbose_name = u"a_new_name"
【讨论】: