如果用户未登录,如何阻止用户打开页面

时间:2018-08-08 05:05:55

标签: python django

我有登录和工作页面。
我希望用户先登录,然后重定向到工作页。这种情况对我来说很好。

但是,当我尝试访问工作页面时,它给了我错误,我正在通过会话变量进行检查,我知道自己做错了,因为我不确定如果用户尝试访问哪个用户正在尝试访问该页面直接进入工作页面,因为数据库中将有许多用户。如何限制用户直接访问工作页面,如果用户这样做,则应重定向到登录页面

views.py文件方法如下:-

def chatbox_index(request):
    context={}  
    template_name = "bot/chatbot.html"  
    **<I have to check here if user session is active or not?>**  
        return render(request, template_name,context=context)          
    else:  
        return render(request,'' ,context=context)  

用户登录后,我正在创建会话并将其存储在以下2个变量中:- request.session ['employee_name'] = employee.usr名字
request.session ['employee_id'] = employee.id

1 个答案:

答案 0 :(得分:2)

Django为此提供了login_required装饰器:

from django.contrib.auth.decorators import login_required

@login_required
def chatbox_index(request):
    context={}  
    template_name = "bot/chatbot.html"  
    return render(request, template_name,context=context)