我剛剛創建了一個url模式條目,用於將內容路由到我的註冊視圖,但即使該URL清楚地顯示,該參數也沒有被傳遞。urls.py不傳遞url模式
我的URL模式:
url(r'^register/(?P<profile_type>\w+/?$)', 'userProfile.views.register'),
我的視圖定義:
def register(request, profile_type=None):
我嘗試加載的URL(不是真實的,但爲例):
http://example.com/register/user
當我在視圖的開頭正好設置一個pdb斷點時,profile_type是None,但url是http://example.com/register/user
我試圖運行re.match,看看正則表達式是錯誤的,我得到了以下內容:
match = re.match(r'^register/(?P<profile_type>\w+/?$)', 'register/user')
match
<_sre.SRE_Match object at 0x1004d48a0>
match.groupdict()
{'profile_type': 'user'}
顯然,正則表達式是匹配的URL的「用戶」的一部分,但它沒有獲得通過。我會喜歡這個幫助。
的urls.py中包含其他類似的模式,這些模式是否正常工作:
url(r'^user/(?P<profile_id>\d+/?$)', 'userProfile.views.registeredUser'),
的觀點是在正確的地方,並正確調用但參數沒有被通過。
其實,我有一個文件在之前的模式,看起來像這樣:
url(r'^register', 'userProfile.views.register'),
我想這是第二圖案和搞亂事情之前獲取調用...
請發佈您的**完全**網址格式。括號在哪裏? $?在哪裏?如果您按照編輯屏幕上清楚顯示的格式化說明,「Markdown」不會*刪除空格 - 用反斜槓圍繞您的代碼進行內聯格式化,或縮進四行代碼片段。 – 2012-01-10 09:42:36
這個條目是應用程序的urls.py還是項目的urls.py? – keni 2012-01-10 17:10:03
此條目位於項目的urls.py中。確切的URL模式是:'url(r'^ register /(?P \ w + /?$)','userProfile.views.register'),' @DanielRoseman,Markdown does not remove space。它_did_刪除模式的部分,這就是我添加空格的原因。 –
serpah
2012-01-11 03:07:38