2014-01-25 156 views
3

現在我正在開發一個應用程序的反饋,的Django 1.6管理面板定製

因此,管理員必須從用戶看到的消息,它們進行過濾(讀/未讀),並將其標記爲重要。 我已經完成了我需要的所有功能,但是我無法自定義我的標題。例如, 。 更改列表中有默認標題(請參閱截圖,選擇此標題), 如何刪除這些標題或自定義它們? Screenshot

非常感謝提前。

回答

6

其實,@mayankTUM的答案是而不是正確。它不遵循django design philosophies,不應該執行(@mayankTUM自己提到他的解決方案的問題之一,但有很多,更多)!

基本上,您需要做的事可以通過overriding the admin templates完成。因爲有(我稍後會解釋)一些問題,這裏正是 我沒有解決您的要求:

  1. 創建一個在我的templates文件夾命名爲admin目錄。
  2. 複製了<django>\contrib\admin\templates\admin\change_list.htmlchange_list.html模板。
  3. 添加了以下新change_list.html結束:{% block content_title %}Hello world!{% endblock %}

現在,而不是「選擇...修改」,將打印的「Hello world!」

我注意到,複製整個change_list.html未乾 - 它會更好,如果我剛剛創建的文件,使得它從admin/change_list.html擴展,並添加content_title。然而,這不起作用,並會導致無限遞歸(請檢查這個錯誤報告https://code.djangoproject.com/ticket/15053) - 這是我之前提到的問題。

Django: Overriding AND extending an app templateHow to override and extend basic Django admin templates?django override admin template

PS:我TEMPLATE_DIRSTEMPLATE_LOADERS項目設置有這些:

TEMPLATE_DIRS = (
    PROJECT_PATH.child('templates'), 
) 

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader', 
    'django.template.loaders.app_directories.Loader', 
) 
一個更好的解決方案,它複製了整個模板在以下幾個問題討論