在我的Django網站中,我有一個特定的參數,我想通過url或查詢字符串進行設置。例如。 mysite.com/?param=value
。我希望這個值一旦被設置就被傳遞給所有的視圖 - 我可以用request.GET.get('param', 'default value')
來檢查它。在Django中最簡單的方法是什麼?持久地設置url參數
爲了更清楚起見,下面是一個示例 - 在我的網站標題中,我有一個包含年份列表的下拉菜單。一旦我點擊我希望今年選擇的其中一個選項,即可轉到我網站的所有其他部分,即mysite.com/?year=1999
,然後mysite.com/somethingelse/?year=1999
,mysite.com/onemorething/?year=1999
等等。 在此先感謝。
+1 *絕對*使用request.session爲此。將GET參數附加到每個網址上都非常糟糕,並且很可能會使搜索引擎結果搞砸。 – 2012-01-10 15:41:43
謝謝你的答案。讓我澄清幾點。 1.我必須在哪裏設置會話變量?理想情況下,它應該在點擊鏈接時設置一個「?year = 1999」部分,但這可能在我的任何觀點中,而不僅僅是一個。 2.最好是將這部分放在url中,但我可以找到解決辦法,因爲我有一個菜單,可以在標題中顯示當前年份。 3.我可以在模板中設置會話變量嗎? – exfizik 2012-01-11 04:21:53
'1。'我現在的問題是哪一個更適合這種上下文處理器或中間件?我在想前者,因爲我可以在模板中設置一個可見的變量。我有一種感覺,這是一種常見的做法。 '3.'因爲我可以將它設置在其他模板擴展的基本模板中,而不是修改我擁有的每個視圖(我有一些)。 目前,我看到的方式是: '1.'創建類似於?year = 1999的鏈接 '2.''在上下文處理器或中間件中檢查'year'鍵的request.GET' '3 .'Set'request.session ['year']' '4。'傳遞這個值在模板中使用。 – exfizik 2012-01-12 03:43:30