【发布时间】:2014-08-24 15:30:40
【问题描述】:
我是 Django 新手,在理解 URL 模式时遇到了困难。当用户访问我网站的索引页面(http://www.example.com)时,他们可以进行搜索。他们在一个框中输入名字,在另一个框中输入姓氏,然后单击搜索按钮。用户的搜索在结果页面 (http://www.example.com/results) 上返回信息。当我使用以下模式时,一切正常:
urlpatterns = patterns('',
...
url(r'^results',views.results, name='results'),
...
)
但是,我将如何呈现这样一个捕获实际查询的 URL,而不是为每个搜索呈现一个“/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 的完整路径而不仅仅是“/results”?我想这不是一个大问题,但视觉效果很好。
-
如果总是提供 first_name 和 last_name,您可以将它们用作 url 参数 url(r'^results/(?P
\w+/(?P \w+))' ,views.results, name='results'),
标签: django url-pattern