的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.
答案 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+)/$