Django 中的 CBV mixin 是什么?
What is a CBV mixin in Django?
我在阅读有关 Django UserPassesTestMixin
mixin 的内容时,偶然发现了术语 CBV Mixin
。这是什么,它有什么用? CBV
Mixin 是一种通用类型的 mixin,除了 Django 之外的任何其他框架中是否有 CBV
mixin?
CBV
只是基于 Class 的视图的快捷方式,它是 Django 中任何在代码中定义为 class 的视图的通用术语,尤其是一个继承自 django.views.View
.
所以 CBV Mixin
只是可以在基于 Class 的视图中使用的任何 mixin。
CBV,在 Django 中,代表“class 基于视图”。这些是框架提供的一组视图,作为 Python classes 而不是函数。请参阅 docs 以获得更完整的解释。
它们的部分实现是通过组合 mixin classes 来定义特定行为的 classes,例如 View
base class。同样,docs have additional details about the standard/included mixins. For example, the common behavior of rendering a template to produce a response is defined in TemplateResponseMixin.
CBV
或 Class Based Views
并且是从 django.views.generic
预定义的 类 为特定任务开发的,例如 ListView
、CreateView
等.
CBV Mixins
与普通的 CBV
一样,但它们旨在为 CBV
添加一些限制,例如 LoginRequiredMixin
和 UserPassesTestMixin
,有关更多详细信息,请参阅此链接:
1- https://docs.djangoproject.com/en/3.2/topics/class-based-views/
2- https://docs.djangoproject.com/en/3.2/topics/class-based-views/mixins/
3- https://djangodeconstructed.com/2020/04/27/roll-your-own-class-based-views-in-django/
我在阅读有关 Django UserPassesTestMixin
mixin 的内容时,偶然发现了术语 CBV Mixin
。这是什么,它有什么用? CBV
Mixin 是一种通用类型的 mixin,除了 Django 之外的任何其他框架中是否有 CBV
mixin?
CBV
只是基于 Class 的视图的快捷方式,它是 Django 中任何在代码中定义为 class 的视图的通用术语,尤其是一个继承自 django.views.View
.
所以 CBV Mixin
只是可以在基于 Class 的视图中使用的任何 mixin。
CBV,在 Django 中,代表“class 基于视图”。这些是框架提供的一组视图,作为 Python classes 而不是函数。请参阅 docs 以获得更完整的解释。
它们的部分实现是通过组合 mixin classes 来定义特定行为的 classes,例如 View
base class。同样,docs have additional details about the standard/included mixins. For example, the common behavior of rendering a template to produce a response is defined in TemplateResponseMixin.
CBV
或 Class Based Views
并且是从 django.views.generic
预定义的 类 为特定任务开发的,例如 ListView
、CreateView
等.
CBV Mixins
与普通的 CBV
一样,但它们旨在为 CBV
添加一些限制,例如 LoginRequiredMixin
和 UserPassesTestMixin
,有关更多详细信息,请参阅此链接:
1- https://docs.djangoproject.com/en/3.2/topics/class-based-views/
2- https://docs.djangoproject.com/en/3.2/topics/class-based-views/mixins/
3- https://djangodeconstructed.com/2020/04/27/roll-your-own-class-based-views-in-django/