我是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