[英]Django redirect() with additional parameters
为什么当我尝试传递其他参数时,我收到错误:
以下工作正常! (没有参数)
def first(request):
return redirect('confirm')
def confirm(request):
return render(request, 'template.html')
然而,这是我需要的,它不能按预期工作,我得到错误:
使用关键字参数'{'email':'email'}'找不到'确认'。 尝试了1种模式:['book / booking_confirmation / $']
def first(request):
return redirect('confirm', email='some_email')
def confirm(request, email):
return render(request, 'template.html', { 'email': email} )
urls.py
urlpatterns += [
url(r'^booking_confirmation/$', views.confirm, name='confirm'),
]
如果您不想通过重定向中的URL传递电子邮件,则最简单的方法是将其存储在会话中。
def first(request):
request.session['email'] = 'some_email'
return redirect('confirm')
def confirm(request):
return render(request, 'template.html', {'email': request.session['email']})
配置url模式以捕获电子邮件。 例如
urlpatterns += [
url(r'^booking_confirmation/(?P<email>\w+)$', views.confirm, name='confirm'),
]
您可以对捕获的电子邮件使用更强大的模式匹配,而不是仅捕获单词字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.