FormView se refiere a una vista (lógica) para mostrar y verificar un formulario Django. Por ejemplo, un formulario para registrar usuarios en Geeksforgeeks. Las vistas basadas en clases proporcionan una forma alternativa de implementar vistas como objetos de Python en lugar de funciones. No reemplazan las vistas basadas en funciones, pero tienen ciertas diferencias y ventajas en comparación con las vistas basadas en funciones:
- La organización del código relacionado con métodos HTTP específicos ( GET, POST, etc.) puede abordarse mediante métodos separados en lugar de bifurcaciones condicionales.
- Las técnicas orientadas a objetos, como mixins (herencias múltiples), se pueden usar para factorizar el código en componentes reutilizables.
Las vistas basadas en clases son más sencillas y eficientes de administrar que las vistas basadas en funciones. Una vista basada en funciones con toneladas de líneas de código se puede convertir en una vista basada en clases con solo unas pocas líneas. Aquí es donde entra en juego la Programación Orientada a Objetos .
Django FormView – Vistas basadas en clases
Ilustración de cómo crear y usar FormView usando un ejemplo. Considere un proyecto llamado Core que tiene una aplicación llamada libros.
Consulte los siguientes artículos para comprobar cómo crear un proyecto y una aplicación en Django.
Estructura de carpetas
Implementación paso a paso para crear vistas basadas en clases
Paso 1: crea un proyecto básico
Crea un proyecto siguiendo el comando
django-admin startproject core
- Se creará una nueva carpeta con el nombre nombre del proyecto .
Paso 2: crear una aplicación en Django
Para crear una aplicación básica en su proyecto Django, debe ir al directorio que contiene manage.py y desde allí ingresar el comando:
python manage.py startapp books
Paso 3: Vaya a core/URLs y configure la ruta para nuestra aplicación.
Paso 4: Vaya al núcleo/configuración y registre el nombre de nuestra aplicación » libros «.
Paso 5: Pegue esto en sus libros/admin.py
from django.contrib import admin from . import models @admin.register(models.Books) class AuthorAdmin(admin.ModelAdmin): prepopulated_fields = {'slug': ('title',), }
Paso 6: Cree un modelo en libros/modelos.py.
Paso 7: Vamos a crear un formulario en el que crearemos CreateView. En libros/formularios.py.
Paso 8: después de crear el formulario, creemos CreateView en geeks/views.py,
Paso 9: Asigne una URL a esta vista en books/urls.py.
Paso 10: Configure URL para libros/urls.py
from django.urls import path from .views import AddBookView app_name = 'books' urlpatterns = [ path('', AddBookView.as_view(), name='add'), ]
Paso 11: Cree una plantilla para esta vista en books/add.html,
html
<html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div class="container" style="max-width:600px"> <div class="px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center"> <h1 class="display-4">Welcome to GFG Class Based Views Django</h1> </div> <div class="py-5"> <div class="row"> <div class="col-12"> <form method="post"> {% csrf_token %} {{ form.as_p }} <input type="submit"> </form> </div> </div> </div> </div> </body> </html>
Paso 12: Ahora ejecute su aplicación con el siguiente comando.
python manage.py runserver
Ahora visite http://127.0.0.1:8000/ ,
Publicación traducida automáticamente
Artículo escrito por NaveenArora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA