tip*_*ipu 3 django parameters url
错误可以在这里看到:http://djaffry.selfip.com:8080 /
我希望索引页面接受参数,无论是否
mysite.com/search/param_here
Run Code Online (Sandbox Code Playgroud)
要么
mysite.com/?search=param_here
Run Code Online (Sandbox Code Playgroud)
我在我的网址模式中有这个,但我无法让它工作.有什么建议?
urlpatterns = patterns('',
(r'^$/(?P<tag>\w+)', 'twingle.search.views.index'),
)
Run Code Online (Sandbox Code Playgroud)
Dav*_*cic 23
首先,你在url模式中的正则表达式是错误的.
r'^$/(?P<tag>\w+)'
Run Code Online (Sandbox Code Playgroud)
它说匹配来自的一切
通常在一行结束后,另一行或EOF不是内容(除非你使用多行正则表达式,你不需要这些).
行尾应该在标记之后:
r'^/(?P<tag>\w+)$'
Run Code Online (Sandbox Code Playgroud)
使用查询字符串
因此,如果您的格式为url:
http://mysite.com/?query=param_here
Run Code Online (Sandbox Code Playgroud)
将匹配:
(r'^$', 'twingle.search.views.index')
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您可以query像这样访问视图中的字符串:
request.GET.get('query', '')
Run Code Online (Sandbox Code Playgroud)
没有查询字符串
mysite.com/search/param_here
Run Code Online (Sandbox Code Playgroud)
将匹配:
(r'^search/(?P<query>\w+)$', 'twingle.search.views.index'),
Run Code Online (Sandbox Code Playgroud)
匹配的所有内容\w(您应该将其更改为满足您的需求)将与索引视图函数的请求一起传递为名为的参数query.
都
你可以像这样使用两个url模式:
urlpatterns = patterns('twingle.search.views',
url(r'^$', 'index'),
url(r'^search/(?P<query>\w+)$', 'index'),
)
Run Code Online (Sandbox Code Playgroud)
在这个例子中,视图看起来像这样:
def index(request, query=None)
if not query:
query = request.GET.get('query', '')
# do stuff with `query` string
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13888 次 |
| 最近记录: |