登录用户可以看到登录和注册页面(django-registration)

时间:2017-05-30 14:47:12

标签: python django django-registration

我在django 1.11中使用django-registration。在docs之后 我把网址设置得很好。但是登录的用户会看到登录页面和注册页面(对我来说没有意义)。

我在网址中尝试redirect_authenticated_user=True,适用于登录页面,而不是注册并在loggout上崩溃。

我的问题是:

  • 我需要获取所有django-registration的网址,然后输入redirect_authenticated_user=True'那些我想要的?
  • 我必须创建视图以查看用户是否已登录并重定向它?
  • 或者只是检查模板?
  

obs。:我只使用网址和模板od Django-registration

1 个答案:

答案 0 :(得分:1)

如果您的注册和登录页面是单独的路线,对于注册路线,请尝试以下方式:

def signup(request):
    if request.user.is_authenticated():
        # redirect if user is already logged in
        return HttpResponseRedirect(...)
    else:
        # do signup stuff

如果表单位于同一页面上,或者已注册和未注册用户的内容位于同一页面上,则可以在模板中使用与上述相同的if语句,以选择性地隐藏/显示已登录用户的内容: / p>

{% if user.is_authenticated %}
    <!-- HTML FOR SIGNED IN USER -->
{% else %}
    <!-- HTML FOR UNREGISTERED USER -->
{% endif %}

并确保所有需要您登录的路线,在功能上方都有@login_required装饰器。