2

AoA,我正在尝试重定向到带参数的视图,但无法获取参数

(r'^search/$',... )这是代码,如果我改用它,它工作正常

网址.py

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

视图.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.
4

2 回答 2

3

路径进去urls.py。处理查询参数进入视图。

网址.py

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

视图.py

def search_Page(request):
    address = request.GET['item'] # or GET.get('item', '') if the parameter might not exist
    print address
于 2013-11-04T07:56:53.970 回答
0

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

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

但最好在您的视图中使用以下内容:

^search/(?P<item_id>\d+)/$
于 2013-11-04T08:18:09.193 回答