定制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" 
+0

感谢您的回答。我也遇到了verbose_name,但我没有在我的问题中明确自己。我想改变整个文本。 – super9

你需要更新你的Django管理模板更改。您正在寻找的模板是django/contrib/admin/templates/admin/change_list.html。寻找addlink,下面的行应该是要改变的词。