为什么当我尝试传递附加参数时,出现错误:
下面的效果很好! (不带参数)
def first(request):
return redirect('confirm')
def confirm(request):
return render(request, 'template.html')
但这正是我所需要的,但它没有按预期工作,并且出现错误:
Reverse for 'confirm' with keyword arguments '{'email': 'email'}' not found. 1 pattern(s) tried: ['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 传递电子邮件,最简单的方法是将其存储在 session 中。
def first(request):
request.session['email'] = 'some_email'
return redirect('confirm')
def confirm(request):
return render(request, 'template.html', {'email': request.session['email']})
关于python - 带有附加参数的 Django redirect(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49721830/