Django: 路由与视图 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

Mixin

除了继承之外,Mixin是Django视图类中实现代码级复用的另一种主要模式。

什么是Mixin?

根据WIKI 的定义,Mixin是一种编程理念,用来将代码注入到一个里,使被注入的类具备Mixin所 实现的功能。当需要在多个类之间复用代码时,将这部分代码抽出来定义一个新的类,就构成 一个Mixin。Mixin通常作为父类,使继承类具备了它实现的功能。

Got it?

三个要点:

  1. 引入Mixin概念的目的,是实现类之间的代码复用(功能复用)
  2. 一个Mixin就是一个语法上的类,但是这个类本身不一定需要有明确的语义,它仅仅是可复 用代码(功能特性)的堆积。Mixin存在的目的仅仅是为了以可复用的方式充实那些真 正具有语义的类的功能
  3. 其他类通过继承Mixin类,来获得Minxi实现的功能

看下面的示例,我们将日志功能抽出来放在LogMixin里实现,把生成页面header和footer的功能 抽出来放在LayoutMixin里实现:

mixin

创建一个StyleMixin,实现各视图CSS样式的统一管理。