Django编写类方式验证登陆

标签: Django
6人阅读 评论(0) 收藏 举报
分类:

在视图函数中,有些操作是需要用户在登录前提下才能进行的。

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

if request.user.is_authenticated():
    ...
else:
    return render(requeset, 'login.html')
  • 1
  • 2
  • 3
  • 4

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

在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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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

from utils import LoginRequiredMixin

class CourseCommentView(LoginRequiredMixin, View):
    """
    课程评论
    """
    def get(self, request):
        pass
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

查看评论

Django使用自定义认证方式

Django使用自定义认证方式创建登录应用首先创建一个新的login app,用来存放认证用到代码python manage.py startapp login修改settings.py中的认证项AU...
  • kongxx
  • kongxx
  • 2016-01-11 09:47:22
  • 3502

django通用视图(视图类)的login登陆、权限限定

django的登陆限定和权限限定是view设计中很重要的一个组成。网上的教程大部分都是通过使用view函数的装饰器来实现,比如:@login_required(login_url='/') @perm...
  • AyoCross
  • AyoCross
  • 2017-08-08 14:07:16
  • 1090

07+. Django用户登录验证系统和登录注销

一直以来对Django的用户权限登录保护模棱两可,最近由于在做一个django的项目,其中涉及到用户的权限登录保护,所以算是有些清楚了,总结下来,给还在模棱两可的你阅读。...
  • Gamer_gyt
  • Gamer_gyt
  • 2017-03-08 00:12:41
  • 5812

Django自定义User模型和登录验证

http://www.redicecn.com/html/blog/Django/2012/0325/385.html 用户表已存在(与其他App共用),不能再使用Django内置的User模型...
  • yuanchao99
  • yuanchao99
  • 2013-06-02 15:40:10
  • 9010

Django实战之用户验证登录

django应用创建 django model/view/url设计 django用户登录验证 jquery ajax
  • Lockey23
  • Lockey23
  • 2017-06-13 23:33:53
  • 4791

Django实现登录验证功能

Django实现登录验证功能: Django对用户登录功能已经进行了封装,我们只需要简单地修改就可以了。 视图: views.py 123456789101112131415161718...
  • hjxzt1
  • hjxzt1
  • 2017-07-17 14:42:46
  • 4670

django 验证用户是否登陆

第一步 指定一下登陆url。 url(r'^accounts/login/$', include(xadmin.site.urls)), 由于我用的xadmin故而指向了xadmin,如果使用默...
  • ranchunfeng
  • ranchunfeng
  • 2015-10-26 08:53:47
  • 490

django 用户登录及验证

1、登录页面如下: {% load staticfiles %} Signin Template for B...
  • u011085172
  • u011085172
  • 2017-04-26 18:07:28
  • 1315

Django登录权限的认证

在有些情况下需要登录才可以访问,否则跳转到登录按钮,此文正是解决这个问题。 1.首先在utils文件夹中创建一个mixin_utils.py from django.contrib.aut...
  • qq_16260961
  • qq_16260961
  • 2017-06-10 21:02:48
  • 265

django学习——通过邮箱实现用户名的登录

在前面,我们讲过通过authenticate()与login()方法进行登录,方法如下:from django.views import View from django.contrib.auth i...
  • geerniya
  • geerniya
  • 2018-01-03 14:28:22
  • 243
    个人资料
    持之以恒
    等级:
    访问量: 5万+
    积分: 655
    排名: 7万+
    文章分类
    文章存档
    最新评论