2010-05-04 117 views
2

我有一個基於默認日期顯示數據的網頁。用戶然後可以通過用日期選擇器選擇日期並點擊提交按鈕來改變他們對數據的看法。我已經有一個變量集,因此如果沒有選擇日期,那麼使用默認日期....那麼問題是什麼?問題就來了,如果用戶沒有改掉一個參數的URL頁面輸入......像這樣:的如何在django中爲HttpRequest.GET設置默認值?

http://mywebpage/viewdata (example A) 

代替

http://mywebpage/viewdata?date= (example B) 

我試着使用:

if request.method == 'GET': 

但顯然,即使例子A仍然返回true。我敢肯定,我正在做一些明顯的初學者的錯誤,但我會問無論如何...有沒有一種更簡單的方式來處理示例A,而不是將url傳遞給字符串並檢查字符串「?date =」?

回答

3

我真的不明白你的問題 - 一些更多的代碼,會幫助 - 但不要你只需要做:

if 'date' in request.GET: 
+0

丹尼爾羅斯曼......你這個人!那正是我需要的!謝謝! – Mike 2010-05-04 08:26:18

0
+0

號POST是做出改變的數據,或者有其他的副作用意見書,不僅僅是爲了改變數據的觀點。 – 2010-05-04 08:08:37

+0

@丹尼爾,是的,但聽起來他想在用戶點擊提交和GET之間做出區分。或者,也許我沒有得到它。無論如何,請求 - 響應文檔在各種情況下都有足夠的信息。 – Unreason 2010-05-04 08:25:42

6

你提到你有默認值定義的地方。

而不是做這樣的事情的:

if 'date' in request.GET: 
    date = request.GET['date'] 
else: 
    date = '2010-05-04' 

它更容易做到這一點是這樣的:

date = request.GET.get('date', '2010-05-04')