2

提前致谢。

我在我的一个 Django 网站中遇到了一个问题。在这里,经过身份验证的用户可以访问注册页面。但是客户提出了它作为一个问题。所以我试图纠正这个问题并最终得到以下解决方案。

这是一个很好的解决方案吗?或者我怎样才能让它变得更好?

流程应该是这样的,当登录用户尝试访问注册页面时,他应该自动从站点注销,然后重定向到注册页面。

我的代码是

def user_signup(request, template_name='profiles/profile_register_form.html'):
if request.user.is_authenticated():
    return custom_logout(request, next_page = "/accounts/register/")


def custom_logout(request, next_page='/'):
try:
    language = request.session['django_language']
except:
    language = False
response = logout(request, next_page=next_page)
if language:
    request.session['django_language'] = language
return response
4

2 回答 2

0

你的方法是正确的。它将保存当前的语言会话并执行您需要的确切过程

于 2012-10-11T09:19:33.583 回答
0

如果我理解你的问题

为什么custom_logout

你可以直接调用 django logout 像

if request.user.is_authenticated():
    logout(request)
    return HttpResponseRedirect('/login/')  # whatever you register page 
于 2012-08-23T13:40:09.913 回答