我如何根据当前会话拒绝登录或注册用户

时间:2016-09-01 04:21:08

标签: python html django redirect views

如何拒绝或将活动用户重定向到登录屏幕?

我想,用户只能在当前会话允许访问时访问页面。

这可以直接在HTML代码中完成,还是只在视图中完成?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,则表示用户不应该看到登录和注册链接(可能在顶部栏中)。这可以在模板中完成:

{% if user.is_authenticated %}
<!-- show logout link/button -->
{% else %}
<!-- show login and signup links/buttons -->
{% endif %}

另外,您还应该在python代码中处理登录视图以保持一致性(也许是安全性吗?)。我想你可以这样做(未经测试):

def login(request):
    # check if it's a GET/POST method
    if request.user.is_authenticated():
      return redirect(reverse('your_homepage_for_example'))
    # do login