我认为这应该很容易,但我无法弄清楚。我正在尝试编写一个退出视图。我收到一个获取请求。通过 urls.py,我呈现了我的退出视图。在这个视图中,我将用户的一些参数保存在数据库中,然后我想将用户重定向到外部 URL。我试过了:
return redirect('http://stackoverflow.com/')
来自Django 文档。但是,optout 视图呈现训练模板而不是返回重定向,尽管参数按预期保存在数据库中。我的代码如下:
def optout(request):
if (('REMOTE_USER' in request.META and request.META['REMOTE_USER'] != "") or
(request.session.get('userid', False) and request.session['userid'] != "")):
if ('REMOTE_USER' in request.META and request.META['REMOTE_USER'] != ""):
userid = request.META['REMOTE_USER']
if (request.session.get('userid', False) and request.session['userid'] != ""):
userid = request.session['userid']
user = User.objects.get(username=userid)
user.optout = True
user.postpone = False
user.save()
return redirect('http://stackoverflow.com/')
context = { 'userid': "" }
return render(request, 'games/Training.html', context)
非常感谢任何帮助。