2011-09-06 270 views
3

在Django Admin中,在更改列表視圖中右上角有一個Add <model_name>按鈕。定製Django管理界面

有沒有人有任何想法如何更改該按鈕中的默認文本?

UPDATE

我想這個詞Add更改到別的

回答

3

更改列表視圖呈現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塊。

0

東西是您的型號名稱。默認情況下

的Django使用模型的類名,但您可以通過Meta.verbose_name

class MyModel(models.Model): 
    name = models.CharField() 
    class Meta: 
     verbose_name = u"a_new_name" 
+0

感謝您的回答。我也遇到了verbose_name,但我沒有在我的問題中明確自己。我想改變整個文本。 – super9

1

你需要更新你的Django管理模板更改。您正在尋找的模板是django/contrib/admin/templates/admin/change_list.html。尋找addlink,下面的行應該是要改變的詞。