¿Cómo crear un formulario usando Django Forms?

Los formularios de Django son un conjunto avanzado de formularios HTML que se pueden crear usando python y admiten todas las características de los formularios HTML de forma pythonic. Esta publicación gira en torno a cómo crear un formulario básico utilizando varios campos y atributos de formulario. Crear un formulario en Django es completamente similar a crear un modelo, uno necesita especificar qué campos existirían en el formulario y de qué tipo. Por ejemplo, para ingresar un formulario de registro, es posible que necesite Nombre (CharField), Número de lista (IntegerField), etc.
 

Creando un formulario usando Django Forms

Ilustración de Django Forms usando un ejemplo. Considere un proyecto llamado geeksforgeeks que tenga una aplicación llamada geeks. 

Consulte los siguientes artículos para comprobar cómo crear un proyecto y una aplicación en Django. 
 

En su aplicación geeks, cree un nuevo archivo llamado forms.py donde estaría creando todos sus formularios. Para crear un formulario de Django, debe usar Django Form Class . Vamos a demostrarlo.
 

En su formularios.py Ingrese lo siguiente, 

Python3

from django import forms
 
# creating a form
class InputForm(forms.Form):
 
    first_name = forms.CharField(max_length = 200)
    last_name = forms.CharField(max_length = 200)
    roll_number = forms.IntegerField(
                     help_text = "Enter 6 digit roll number"
                     )
    password = forms.CharField(widget = forms.PasswordInput())

Expliquemos qué está sucediendo exactamente, el lado izquierdo indica el nombre del campo y, a la derecha, define varias funcionalidades de un campo de entrada correspondiente. La sintaxis de un campo se denota como 

Sintaxis: 

Field_name = forms.FieldType(attributes)

Ahora, para convertir este formulario en una vista, muévase a views.py y cree una home_view como se muestra a continuación. 

Python3

from django.shortcuts import render
from .forms import InputForm
 
# Create your views here.
def home_view(request):
    context ={}
    context['form']= InputForm()
    return render(request, "home.html", context)

En vista, uno solo necesita crear una instancia de la clase de formulario creada anteriormente en forms.py. Ahora vamos a editar plantillas > home.html 

HTML

<form action = "" method = "post">
    {% csrf_token %}
    {{form }}
    <input type="submit" value=Submit">
</form>

Todo listo para verificar si el formulario funciona o no, visite http://localhost:8000/ 

create-django-form

El formulario funciona correctamente pero las imágenes son decepcionantes, Django proporciona algunas formas predefinidas para mostrar formularios de manera conveniente. En las plantillas, lo siguiente modificará las entradas como, 

También se pueden modificar estas configuraciones y mostrar los campos como se desee usando {{ form.field_name }}, pero esto puede alterar el proceso normal de validación si algún campo está vacío y, por lo tanto, necesita un cuidado extraordinario. Más – Formas Django

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 *