2010-08-27 207 views
1

簡單的問題。如何將URL中的變量傳遞給django中的視圖?

如何將URL中的變量傳遞給視圖?我正在關注Date Example

我的觀點需要的參數:

def hours_ahead(request, offset): 

我url.py有這個」

(r'^plus/\d{1,2}/$', hours_ahead), 

我知道我需要通過傳遞另一個說法,但我不知道怎麼弄的(例如'time/plus//'。類似這樣的內容?

(r'^plus/\d{1,2}/$', hours_ahead, offset=??), 
+0

您的網址只有一個數字。只有一個。那個號碼是什麼?小時提前或抵消? – 2010-08-27 10:26:34

回答

1

你可以使用Named groups在正則表達式

(r'^plus/(?P<offset>\d{1,2})/$', hours_ahead), 
0

我不知道我理解你的問題清楚。這是我根據我的理解回答的鏡頭。

添加named regex group你的URL配置應該有所幫助:

(r'^plus/(?P<offset>\d{1,2})/$', hours_ahead), 

這將讓你保持現有的視圖:

def hours_ahead(request, offset): 
    ... 
0

您可以添加額外的變量是這樣的:

(r'^plus/\d{1,2}/$', {'hours' : 5}, hours_ahead), 

此致敬禮!

0

chapter 3 of the django book

現在我們已經指定的URL通配符,我們需要的 的方式,通配符數據傳遞到視圖功能,讓我們可以用一個 單一視圖功能任意小時偏移。我們通過 在URL模式中的數據周圍放置括號來表示我們想要 保存。在我們的例子中,我們要保存的任何數量的URL進入 ,所以讓我們把周圍的\ d {1,2}括號,像這樣 :

(r'^time/plus/(\d{1,2})/$', hours_ahead), 

如果你熟悉正則表達式,你會在這裏在家 ;我們使用圓括號從匹配的文本中捕獲數據。

相關問題