{{ form.as_ul }} – Renderizar formularios de Django como lista

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. Representar formularios de Django en la plantilla puede parecer complicado a veces, pero con el conocimiento adecuado de los formularios de Django y los atributos de los campos, uno puede crear fácilmente un formulario excelente con todas las funciones potentes. En este artículo, el formulario se presenta como una lista en la plantilla.

{{ form.as_ul }} – Renderizar formularios de Django como lista

Ilustración de {{ form.as_ul }} utilizando un ejemplo. Considere un proyecto llamado geeksforgeeksque tiene una aplicación llamada geeks.

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

Vamos a crear un formulario Django de muestra para representarlo y mostrarlo como ejemplo. En geeks > forms.py, ingrese el siguiente código

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())

Ahora necesitamos una vista para convertir este formulario en una plantilla. Vamos a crear una vista,

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)

Finalmente, crearemos la plantilla donde necesitamos colocar el formulario. en templates > home.html,

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

Aquí {{ form.as_ul }} los representará como celdas de lista envueltas en etiquetas <li>. Vamos a comprobar si esto funciona correctamente o no. Abra http://localhost:8000/

python-django-form-as-ul

Verifiquemos el código fuente si el formulario se presenta como una lista o no. Representar como una lista significa que todos los campos de entrada estarán encerrados en etiquetas <li>.
Aquí está la demostración,

Otros metodos

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 *