python - 带有附加参数的 Django redirect()

标签 python django django-views

为什么当我尝试传递附加参数时,出现错误:

下面的效果很好! (不带参数)

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/

相关文章:

django - 预填充 Django(非模型)表单

构建 "News Feed"/ "Status update"/ "Activity Stream"的 Django 方式

python - TemplateDoesNotExist 位于/polls/

python - 在django中上传到s3之前如何压缩图像?

python - 无效的URL给出regexmatchError并且在pytube程序中给出无效的URL时不引发错误

python - 从 pandas apply() 返回多列

python - 如何使用列表理解在循环内进行列表展平?

python - CSS 顶部导航栏,模板不工作 compass 和 sass

django - 当一个对象可以属于其他几个对象时,外键属于哪里?

django - 将原始 SQL 传递到 Django 模板