Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重定向到带有参数django python的url_Python_Django - Fatal编程技术网

重定向到带有参数django python的url

重定向到带有参数django python的url,python,django,Python,Django,AoA, 我试图重定向到带有参数的视图,但无法获取参数 这是代码,如果我改用(r'^search/$,…),效果很好 url.py url(r'^search/\?item=(?P<item_id>\d+)/$', 'contacts.views.search_Page', name='search_view'), def search_Page(request,item_id): #GET Method return redirect(

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

这是代码,如果我改用
(r'^search/$,…)
,效果很好

url.py

url(r'^search/\?item=(?P<item_id>\d+)/$', 'contacts.views.search_Page', name='search_view'),
def search_Page(request,item_id):                   #GET Method
    return redirect('home_view')
url(r'^search/$', 'contacts.views.search_Page', name='search_view'),
def search_Page(request):
    address = request.GET['item'] # or GET.get('item', '') if the parameter might not exist
    print address
它没有给我错误,但是django找不到页面或视图(404页面),为什么

Django使用TestApp.URL中定义的URLconf,按以下顺序尝试了这些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.
^$
^home/$[name='home\u view']
^注销/$
^拯救/$
^编辑/$
^创造/$
^帐目/$
^回调$[name='callback']
^profile/$[name='profile\u view']
^搜索/\?项=(?P\d+)$[name='search\u view']
^获取/(?P\d+)/$
^静态\/(?P.*)$
当前URL search/item=4与其中任何一个都不匹配。

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

url.py

url(r'^search/\?item=(?P<item_id>\d+)/$', 'contacts.views.search_Page', name='search_view'),
def search_Page(request,item_id):                   #GET Method
    return redirect('home_view')
url(r'^search/$', 'contacts.views.search_Page', name='search_view'),
def search_Page(request):
    address = request.GET['item'] # or GET.get('item', '') if the parameter might not exist
    print address
视图.py

url(r'^search/\?item=(?P<item_id>\d+)/$', 'contacts.views.search_Page', name='search_view'),
def search_Page(request,item_id):                   #GET Method
    return redirect('home_view')
url(r'^search/$', 'contacts.views.search_Page', name='search_view'),
def search_Page(request):
    address = request.GET['item'] # or GET.get('item', '') if the parameter might not exist
    print address
URL.py中的regexp错误。 如果您想处理像
search/?item=123/
这样的URL。使用以下命令:

^search/\?item=(?P<item_id>\d+)/$
^search/\?项=(?P\d+)/$
但最好在您的视图中使用以下内容:

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

那么我如何从上一个视图传递参数?我想像这样使用模板搜索/?item=5中的查询字符串,然后在模板中使用
request.GET.item
。确保您有
django.core.context\u processors.request
。重定向到的URL必须包含任何查询参数所需的内容。你可以从这个角度来做这件事。首先,感谢你的回复。查找参数是另一个让人头疼的问题,首先我必须找到我正在调用的特定视图,比如url.py无法找到搜索视图,如果与参数一起传递(查看上面的调试日志),但是当我使用没有任何参数的搜索视图时,效果很好,但原始url是search/?item=123。我的意思是使用“?”它不适用于任何127.0.0.1/search,也不适用于127.0.0.1/search/?item=5它适用于127.0.0.1/search/?item=5/如果您想要127.0.0.1/search/?item=5,那么使用^search/\?item=(?P\d+)$