Basta ya de indagar por otras páginas ya que llegaste al lugar justo, poseemos la respuesta que deseas pero sin problema.
Referencia de API de vistas basadas en clases. Para material introductorio, vea el Vistas basadas en clases guía de temas.
- Vistas base
View
TemplateView
RedirectView
- Vistas de pantalla genéricas
DetailView
ListView
- Vistas de edición genéricas
FormView
CreateView
UpdateView
DeleteView
- Vistas de fecha genéricas
ArchiveIndexView
YearArchiveView
MonthArchiveView
WeekArchiveView
DayArchiveView
TodayArchiveView
DateDetailView
- Mixins de vistas basadas en clases
- Mixins simples
ContextMixin
TemplateResponseMixin
- Mixins de un solo objeto
SingleObjectMixin
SingleObjectTemplateResponseMixin
- Mixins de múltiples objetos
MultipleObjectMixin
MultipleObjectTemplateResponseMixin
- Edición de mixins
FormMixin
ModelFormMixin
ProcessFormView
DeletionMixin
- Mixins basados en dátiles
YearMixin
MonthMixin
DayMixin
WeekMixin
DateMixin
BaseDateListView
- Mixins simples
- Vistas genéricas basadas en clases: índice plano
Especificación
Cada solicitud atendida por una vista basada en clases tiene un estado independiente; por lo tanto, es seguro almacenar variables de estado en la instancia (es decir, self.foo = 3
es una operación segura para subprocesos).
Una vista basada en clases se implementa en un patrón de URL usando el as_view()
método de clase:
urlpatterns =[ path('view/', MyView.as_view(size=42)),]
Seguridad de subprocesos con argumentos de vista
Los argumentos que se pasan a una vista se comparten entre todas las instancias de una vista. Esto significa que no debe usar una lista, diccionario o cualquier otro objeto mutable como argumento para una vista. Si lo hace y se modifica el objeto compartido, las acciones de un usuario que visite su vista podrían tener un efecto en los usuarios posteriores que visiten la misma vista.
Los argumentos pasaron a as_view()
se asignará a la instancia que se utiliza para atender una solicitud. Usando el ejemplo anterior, esto significa que cada solicitud en MyView
es capaz de usar self.size
. Los argumentos deben corresponder a attributes que ya existen en la clase (volver True
en un hasattr
cheque).
Vistas base vs genéricas
Las vistas basadas en clases base se pueden considerar como padre vistas, que pueden usarse solas o heredadas. Es posible que no brinden todas las capacidades requeridas para los proyectos, en cuyo caso hay Mixins que amplían lo que pueden hacer las vistas base.
Las vistas genéricas de Django se construyen a partir de esas vistas base y se desarrollaron como un atajo para patrones de uso comunes, como mostrar los detalles de un objeto. Toman ciertos modismos y patrones comunes que se encuentran en el desarrollo de vistas y los abstraen para que pueda escribir rápidamente vistas comunes de datos sin tener que repetirlo.
La mayoría de las vistas genéricas requieren queryset
key, el cual es un QuerySet
ejemplo; ver Realización de consultas para obtener más información sobre QuerySet
objetos.
Si posees alguna desconfianza y capacidad de refinar nuestro artículo puedes dejar una disquisición y con deseo lo analizaremos.