Django url正则表达式参数捕获

时间:2012-01-29 11:36:03

标签: python django

我想将以下uri路由到视图;

localhost:8000/?tag=Python

def index_tag_query(request, tag=None):

在我的网址中,我尝试了以下正则表达式模式,但即使正则表达式看起来不错,也似乎都没有捕获请求;

url(r'^\?tag=(?P<tag>\w+)/$', 'links.views.index_tag_query'),

url(r'^\/?\?tag=(?P<tag>\w+)/$', 'links.views.index_tag_query'),

url(r'^\/?\?tag=(?P<tag>.*)/$', 'links.views.index_tag_query'),

是什么给出了?

1 个答案:

答案 0 :(得分:7)

您无法解析URLconf中的GET参数。为了更好的解释,我可以给出,看看这个问题(第二个答案):Capturing url parameters in request.GET

基本上,urlconf会将URL解析并路由到视图,并将任何GET参数传递给视图。您在视图本身中处理这些GET参数

<强> urls.py

url(r^somepath/$', 'links.views.index_tag_query')

<强> views.py

def index_tag_query(request):
    tag = request.GET.get('tag', None)
    if tag == "Python":
         ...