我是Django的新手,並且無法理解URL模式。當用戶訪問我網站的索引頁面(http://www.example.com)時,他們有能力進行搜索。他們在一個框中輸入名字,在另一個框中輸入姓氏,然後單擊搜索按鈕。用戶的搜索返回結果頁面上的信息(http://www.example.com/results)。一切都完美的作品時,我用下面的模式:構造Django URL模式
urlpatterns = patterns('',
...
url(r'^results',views.results, name='results'),
...
)
然而,而不是撕心裂肺一個「/結果」網址在每一次搜索的,我怎麼會呈現這樣的URL,捕捉實際查詢:
http://www.example.com/results/<first_name>'+'<last_name>/
'first_name'和'last_name'是存儲在視圖中的request.session []變量。我相信這是一個非常簡單的問題,但鑑於我對這一切都很陌生,我希望有人能夠幫助我理解它的工作原理。
我很感激幫助。
通常,搜索參數通過查詢字符串傳遞:'http://www.example.com/results/?first_name = john&last_name = doe',然後您可以使用'request.GET'在您的視圖中訪問它們。所以不需要指定另一個url。 – Germano
當然,這是有效的。那麼,我可以做什麼來顯示url的完整路徑而不是'/ results'?我想這不是一個大問題,但視覺效果很好。 – datasci
如果始終提供了first_name和last_name,則可以將它們用作url參數url(r'^ results /(?P \ w + /(?P \ w +))',views.results,name ='results') , –
Alvaro