我正在爲使用標準更改列表作爲臨時階段的Django管理界面創建一些自定義視圖。這工作正常,除了變更列表頁面H1是'Select object to change'。 「更改」不是用戶在我的自定義視圖中執行的操作的正確動詞。Alter Django管理更改列表標題文本
我發現控制更改列表頁面(change_list.html
和change_list_results.html
)的佈局的django.contrib.admin模板,但我無法找到標題的提供位置。我猜這是一個通過某個視圖傳入的變量嗎?
如何用較少誤導的方式覆蓋此文本'選擇對象'而不是'選擇要更改的對象'?我可以在所有更改列表視圖中更改它,而不僅僅是我試圖自定義的特定視圖;但我更喜歡解決方案是重寫,而不是修改django.contrib.admin代碼(如果可能)。
更新:我發現了負責更改列表的視圖,它是main.py
的django\contrib\admin\views
。第69行的變量是self.title
(Django 1.0)。我已經來達到的,我通過編輯這一行尋找結果
self.title = (self.is_popup and ugettext('Select %s') % force_unicode(self.opts.verbose_name) or ugettext('Select %s to change') % force_unicode(self.opts.verbose_name))
閱讀
self.title = (self.is_popup and ugettext('Select %s') % force_unicode(self.opts.verbose_name) or ugettext('Select %s') % force_unicode(self.opts.verbose_name))
我還是很感興趣地聽到實現這一目標並不相同的結果更好的辦法涉及黑客django.contrib.admin代碼 - 它看起來像已經有一個選項,讓我喜歡它的方式,但我不知道如何觸發該標題?
嗯,該補丁看起來很有前途。讓我們希望它通過它。不幸的是,它現在對我沒什麼好處,因爲我試圖堅持使用產品代碼而不是使用SVN。感謝您的加入 - 看起來我只需要使用黑客,並小心記錄我的更改以供將來升級。如果它通過我認爲的升級重新設置爲前面的代碼,那麼它是非關鍵的。 – 2009-08-21 15:07:02