Python 如何将POST数据发送到反向url
我有Python 如何将POST数据发送到反向url,python,django,python-2.7,http-post,Python,Django,Python 2.7,Http Post,我有HttpResponseRedirect()函数,它构造了所需的url: 我的创建视图: def create(request): entry = Char_field(field=request.POST['record']) entry.save() return HttpResponseRedirect(reverse('db:index_page',kwargs={'redirected':'true'})) HttpResponseRedirect()重定
HttpResponseRedirect()
函数,它构造了所需的url:
我的创建视图:
def create(request):
entry = Char_field(field=request.POST['record'])
entry.save()
return HttpResponseRedirect(reverse('db:index_page',kwargs={'redirected':'true'}))
HttpResponseRedirect()
重定向到的视图是:
def index(request):
redirected = False
template= 'app/index.html'
try:
if request.POST['redirected'] is 'true':
redirected = True
except:
pass
return render(request,template,{'redirected':redirected})
但是,它返回一个错误:
NoReverseMatch at /app/create/
Reverse for 'index_page' with arguments '()' and keyword arguments '{'redirected': 'true'}' not found.
URL.py:
为什么会这样?是否可以通过reverse()
函数将POST
数据发送到index\u页面
视图?这个问题实际上与POST数据无关。您只是试图使用一个参数进行反向操作,但是索引页面的URL不接受一个参数。无论您是否想发布到该URL,这都是事实
然后,当然,您实际上并不发布到该URL,您只需返回HttpResponseRedirect,它执行302重定向
我不知道你为什么认为你需要在帖子中使用这个参数。如果您不想将其放在URL模式中,为什么不只放在GET参数中呢
url = reverse('db:index_page') + '?redirected=true'
return HttpResponseRedirect(url)
在接收视图中:
redirect = request.GET.get('redirected')
这个问题实际上与POST数据无关。您只是试图使用一个参数进行反向操作,但是索引页面的URL不接受一个参数。无论您是否想发布到该URL,这都是事实
然后,当然,您实际上并不发布到该URL,您只需返回HttpResponseRedirect,它执行302重定向
我不知道你为什么认为你需要在帖子中使用这个参数。如果您不想将其放在URL模式中,为什么不只放在GET参数中呢
url = reverse('db:index_page') + '?redirected=true'
return HttpResponseRedirect(url)
在接收视图中:
redirect = request.GET.get('redirected')
显示您的URL.py
以及db:index\u page
的定义。非常清楚:index\u name
在URL定义中没有任何参数,因此reverse
无法找到位置并抛出错误。@matthia这就是问题所在,我正试图通过reverse
以POST
请求的形式发送数据function@KDawG嗯,您不能这样做,因为这样您需要更改头。HTTP重定向不能包含POST数据。有关详细信息和可能的解决方案,请参见Show us yourURL.py
,其中包含db:index\u page
的定义。非常清楚:index\u name
不接受URL定义中的任何参数,因此reverse
无法找到位置并抛出错误。@Matthias这就是重点,我正试图通过reverse
以POST
请求的形式发送数据function@KDawG嗯,您不能这样做,因为这样您需要更改头。HTTP重定向不能包含POST数据。有关详细信息和可能的解决方案,请参阅