FormView – Vistas basadas en clases Django

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *