使用参数django python重定向到url

时间:2013-11-04 07:51:43

标签: python django

的AoA,    我试图重定向到参数查看,但无法获取参数

这是代码,如果我使用(r'^search/$',... )代替

,它工作正常

url.py

url(r'^search/\?item=(?P<item_id>\d+)/$', 'contacts.views.search_Page', name='search_view'),

views.py

def search_Page(request,item_id):                   #GET Method
    return redirect('home_view')

它没有给我任何错误,但django无法找到页面或视图(404页面),为什么?

使用TestApp.urls中定义的URLconf,Django按以下顺序尝试了这些URL模式:

^$
^home/$ [name='home_view']
^logout/$
^save/$
^edit/$
^create/$
^account/$
^callback$ [name='callback']
^profile/$ [name='profile_view']
^search/\?item=(?P<item_id>\d+)$ [name='search_view']
^get/(?P<article_id>\d+)/$
^static\/(?P<path>.*)$
The current URL, search/item=4, didn't match any of these.

2 个答案:

答案 0 :(得分:3)

路径进入urls.py。处理查询参数会在视图中进行。

<强> url.py

url(r'^search/$', 'contacts.views.search_Page', name='search_view'),

<强> views.py

def search_Page(request):
    address = request.GET['item'] # or GET.get('item', '') if the parameter might not exist
    print address

答案 1 :(得分:0)

urls.py中的正则表达式错误 如果你想处理像search/?item=123/这样的网址。使用此:

^search/\?item=(?P<item_id>\d+)/$

但最好在你的观点中使用以下内容:

^search/(?P<item_id>\d+)/$