2
我想在Django中添加一個上下文變量,以便我可以在每個應用程序的基礎上定義它的值,或者將其保留爲空。在Django的每個應用程序的基礎上自動添加一個變量到上下文中?
實施例:
應用/ someapp/views.py:
def_context_var('app_name', 'Calendar')
模板/ base.html文件:
{% if app_name %}You are in {{ app_name }} app.{% endif %}
....
{% if app_name %}Subsections of {{ app_name }}: ...{% endif %}
我考慮的以下:
- 申報應用程序中的變量(在視圖中或URL中)以及make上下文處理器。但我無法理解如何提取給定請求對象的var。
- 把裝修視圖。嗯,我不喜歡這個想法:太多的樣板或重複的代碼。
- #1但更好:在服務器重啓時執行方法(如上例),將數據寫入字典,然後以某種方式將上下文處理器(如何)獲取應用程序名稱,並從字典。我在哪裏放置方法,字典,上下文處理器如何知道視圖對象在哪裏?
哇。我認爲它只是返回一個函數的元組,args&kwargs。盲點...謝謝! – 2010-10-16 20:13:51
啊,那是1.3。嗯...好吧,我不得不使用inspect.stack。 – 2010-10-16 21:10:42