Django 类方式view进行进行用户验证

问题:

  Django中,view的书写方式有两种,一种是def函数方式,一种是class方式,函数方式通过@login_required装饰器标记函数,就必须通过用户验证,而类,则没办法通过此方法进行标记

那,如何解决这个问题?

  利用类的继承方式,写一个基类,需要验证的class view类,首先继承这个基类,后面所有通过此类的url都需要进行用户验证登录,因为可能有许多的view需要使用该类,需要独立出来,建立在utils目录下,起名mixin_is_login.py,然后在各种需要的view中导入该类,继承此基础类就添加了用户验证功能,要求这个验证类必须放在第一位,mixin 字符在Django中表示基类,通过继承的方式来实现用户验证登录功能

# _*_ encoding:utf-8 _*_
__author__ = ‘beimenchuixue‘
__blog__ = ‘http://www.cnblogs.com/2bjiujiu/‘

from django.contrib.auth.decorators import login_required
from django.utils.decorators import method_decorator

class LoginRequiredMixin(object):
    """用户验证基类,login_url表示没有验证登录需要跳转的页面"""
    @method_decorator(login_required(login_url=‘/login/‘))
    def dispatch(self, request, *args, **kwargs):
        return super(LoginRequiredMixin, self).dispatch(request, *args, **kwargs)

  view

class VideoPlayView(LoginRequiredMixin, View):
    """播放视频页面"""
    def get(self, request):
        url = request.GET.get(‘url‘, ‘‘)
        if url:
            return render(request, ‘video_play.html‘, {
                ‘url‘: url,
            })
        else:
            return render(request, ‘404.html‘)

  

  

时间: 2024-10-13 06:52:40

Django 类方式view进行进行用户验证的相关文章

ASP.NET 用户验证

一般系统中经常会写登录模块,特意总结下登录模块的写法和ASP.NET用户验证的方式. ASP.NET 用户验证,布布扣,bubuko.com

Django自带用户验证框架

一  分析源码 User   Django的标准库存放在 django.contrib 包中.每个子包都是一个独立的附加功能包. 这些子包一般是互相独立的,不过有些django.contrib子包需要依赖其他子包,其中django.contrib.auth 为Django的用户验证框架 1.  导入方法 from django.contrib.auth.models import User 2.  分析User继承链 User --> AbstractUser  --> (AbstractBa

django 的用户验证及登录状态保持

一.用户验证功能 Django自带用户验证及登录功能,引入模块为: from django.contrib.auth import authenticate 其中方法authenticate()的接收参数为: def authenticate(request=None, **credentials): 传入参数: user = authenticate(username=login_user, password=login_password) authenticate方法自动在数据库中匹配.验证

Django框架 之 view视图

浏览目录 概述 简单的视图 HttpRequest对象 CBV和FBV 给视图加装饰器 Request对象 Response对象 JsonResponse对象 Django shortcut functions 一.概述 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你当前项

数据类操作之SharedPreferences(保存用户偏好参数)

(一)概述 本节给大家介绍的是第二种存储用户数据的方式,使用SharedPreferences(保存用户偏好参数)保存数据, 当我们的应用想要保存用户的一些偏好参数,比如是否自动登陆,是否记住账号密码,是否在Wifi下才能 联网等相关信息,如果使用数据库的话,显得有点大材小用了!我们把上面这些配置信息称为用户的偏好 设置,就是用户偏好的设置,而这些配置信息通常是保存在特定的文件中!比如windows使用ini文件, 而J2SE中使用properties属性文件与xml文件来保存软件的配置信息;而

python3开发进阶-Django视图(View)的常见用法

阅读目录 简述Django的View(视图) CBV和FBV Request对象和Response对象 Django组件(render,redirect)详解 一.简述Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你当前项目目录下面. 除此之外

Django视图(View)

Django 视图 声明:文章部分内容来源https://www.cnblogs.com/maple-shaw/articles/9285269.html 视图的概念:一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片 视图的规范:无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你当前项目目录下面.除此之外没有更多的要求了--可以说

MVC WebApi 用户验证 (2)

构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(66)-MVC WebApi 用户验证 (2) 前言: 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(65)-MVC WebApi 用户验证 (1) 回顾上一节,我们利用webapi简单的登录并进行了同域访问与跨域访问来获得Token,您可以跳转到上一节下载代码来一起动手. 继续上一篇的文章,我们接下来演示利用拿到的Token来访问接口,管理接

ASP.NET MVC5+EF6+EasyUI 后台管理系统(65)-MVC WebApi 用户验证 (1)

系列目录 前言: WebAPI主要开放数据给手机APP,其他需要得知数据的系统,或者软件应用,所以移动端与系统的数据源往往是相通的. Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能,一个功能复杂的业务应用系统,通过角色授权来控制用户访问 本文通过Basic 方式进行基础认证Mvc的Controller基类及Action的权限验证来实现Web系统登录,Mvc前端权限校验以及WebApi服务端的访问校验功能,本文主要作为本人备忘使用,如能给予人帮助,深感荣幸,欢迎讨论和指正,下面梳