• 技术文章 >Python框架 >Django

    django判断用户是否登录

    silencementsilencement2019-08-19 09:18:11原创5666

    在视图函数中,有些操作是需要用户在登录前提下才能进行的。下面讲两种方法判断用户是否登录。

    方法一:

    采用request方法来得到用户是否登录信息:

    if request.user.is_authenticated():
        ...
    else:
        return render(requeset, 'login.html')

    方法二:

    在试图函数中继承一个基础类,可以判断用户是否登录。

    在utils.py中定义一个基础类:

    from django.contrib.auth.decorators import login_required
    from django.utils.decorators import method_decorator
    class LoginRequiredMixin(object):
        """
        判断用户是否登录
        """
        @method_decorator(login_required(login_url='/login/'))
        def dispatch(self, request, *args, **kwargs):
            return super(LoginRequiredMixin, self).dispatch(request, *args, **kwargs)

    在编写视图函数时,继承该类:

    from utils import LoginRequiredMixin
    class CourseCommentView(LoginRequiredMixin, View):
        """
        课程评论
        """
        def get(self, request):
            pass

    第二种方式方便很多视图函数的继承,第一种方式用于页面中部分内容的判定。

    专题推荐:django
    品易云
    上一篇:用django需要会前端吗 下一篇:怎么使用docker部署Django项目

    相关文章推荐

    • django如何获取单数据• 如何创建一个django项目

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网