[英]What is a CBV mixin in Django?
我正在阅读有关 Django UserPassesTestMixin
mixin 的信息,并且遇到了CBV Mixin
一词。 这是什么,它有什么用处? CBV
Mixin 是一种通用类型的 mixin,除了 Django 之外的任何其他框架中是否有CBV
mixin?
CBV,在 Django 中,代表“基于类的视图”。 这些是框架提供的一组视图,作为 Python 类而不是函数。 有关更完整的解释,请参阅文档。
它们的部分实现是通过组合定义特定行为的 mixin 类和基类(例如View
基类 class)来实现的。 同样, 文档有关于标准/包含的 mixin 的其他详细信息。 例如,渲染模板以产生响应的常见行为在TemplateResponseMixin中定义。
CBV
只是基于类的视图的一种快捷方式,它是 Django 中任何视图的通用术语,在您的代码中定义为 class,尤其是从django.views.View
继承的视图。
所以CBV Mixin
就是任何可以在基于类的视图中使用的 mixin。
基于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/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.