美文网首页
实现LoginRequiredMixin类

实现LoginRequiredMixin类

作者: 上帝大人 | 来源:发表于2019-10-17 20:42 被阅读0次
mixin.py
from django.contrib.auth.decorators import login_required
class LoginRequiredMixin():
    @classmethod
    def as_view(cls):
        view = super().as_view()
        return login_required(view)
from utils.mixin import LoginRequiredMixin

class OrderPlaceView(LoginRequiredMixin, View):

可以看到,在LoginRequiredMixin类中并没有as_view方法,而且它只是继承了object,也没有as_view方法,但是它的子类中是多继承,在View中有as_view()方法,所以LoginRequiredMixin使用了View类中的as_view方法。

  • 下面在来一段简单的代码理接:
class Father():
    def view(self):
        print("this is Father's CLass")

class Mother():
    
    def view(self):
        super().view()
        print("this's Mother")

class Son(Mother,Father):
    def view(self):
        super().view()
        print('Son')
son = Son()
son.view()
输出
this is Father's CLass
this's Mother
Son
  • 创建Son对象,执行view方法,方法继承自上一级类,找Mother,有,进去,发现没有具体实现,找上一级的类Father,有具体实现,执行Mother中的其他操作,执行Son类中的其他操作。

相关文章

  • 实现LoginRequiredMixin类

    可以看到,在LoginRequiredMixin类中并没有as_view方法,而且它只是继承了object,也没有...

  • mixin类中super()到底继承谁的方法?

    写在前面 在上一篇 mixin类实现用户登录装饰器中遗留了一个问题,LoginRequiredMixin中的sup...

  • Django LoginRequired mixin

    LoginRequiredmixin 使用class-based views时,可以使用LoginRequired...

  • 装饰者模式

    一、接口和实现类1 二、实现类2 三、实现类3 四、调用

  • HAP_定时任务

    代码实现:Service接口类实现IOra20796DemoService .java* Service实现类实现...

  • JDK静态代理示例代码

    JDK静态代理示例代码 业务接口 接口的实现类 代理类,实现接口,并扩展实现类的功能 1、业务接口 2、业务实现类...

  • 动态代理模式实现步骤

    动态代理模式实现步骤 IBuyPhone 接口类 BuyPhone 实现类 BuyPhoneHanlder(实现 ...

  • flutter extend with implements 整

    1、implements:实现类要将所有的父类方法和属性都要实现,包括父类继承其他类的的或者父类实现其他类的方法都...

  • Spring AOP的实现模式

    代理模式: 接口 + 真正实现类 + 代理类真正实现类和代理类都需要实现接口实例化时使用代理类进行实例化Sprin...

  • 设计模式(结构型--代理模式)

       代理类和真实类都继承抽象类,实现其接口,代理类里面有真实类的引用,实现也是调用真实类是实现。使用场景: 1....

网友评论

      本文标题:实现LoginRequiredMixin类

      本文链接:https://www.haomeiwen.com/subject/fzavmctx.html