自定义Django管理界面

时间:2011-09-06 07:46:35

标签: django django-admin

在Django Admin中,在更改列表视图中,右上角有一个Add <model_name>按钮。

有没有人知道如何更改该按钮中的默认文字?

更新

我想将单词Add更改为其他内容

3 个答案:

答案 0 :(得分:3)

changelist视图在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 docs中解释: - https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-admin-templates

,特别是在您的情况下,只需覆盖您自己的change_list.html文件中的对象工具块。

答案 1 :(得分:1)

您需要更新Django管理模板。您要查找的模板是django/contrib/admin/templates/admin/change_list.html。查找addlink,下面的一行应该是要更改的字词。

答案 2 :(得分:0)

这是你模特的名字。

Django默认使用模型的类名,但您可以通过 Meta.verbose_name

进行更改
class MyModel(models.Model):
    name = models.CharField()
    class Meta:
        verbose_name = u"a_new_name"