{{ form.as_table }} – Representar formularios Django como tabla
En el ámbito del desarrollo web, Django se ha convertido en un marco de Internet Python famoso, de código abierto y de alto nivel que fomenta la mejora rápida y el diseño sencillo y pragmático. Django cuenta con una forma sólida de manejar dispositivos, lo que permite a los desarrolladores crear, validar y gestionar documentos sin esfuerzo. Un componente esencial de la forma de Django que trata con dispositivos es su potencial para representar formas como tablas HTML.
En esta publicación, repasaremos el procedimiento para representar las formas de Django como tablas, que incluyen las bendiciones, cómo obtenerlas y algunas prácticas excepcionales a seguir. Al final de esta publicación, tendrá información sólida sobre cómo optimizar su método de desarrollo web mediante la representación efectiva de formularios de Django como tablas.
¿Por qué renderizar formularios de Django como tabla?
Representar formularios de Django como tablas puede proporcionar una variedad de beneficios a los desarrolladores web. Algunas de estas ventajas incluyen:
Diseño estructurado: mostrar factores de forma en una tabla proporciona un diseño fluido y preparado, lo que facilita a los clientes comprender e interactuar con el formulario.
Diseño responsivo: con el CSS adecuado, las tablas pueden adaptarse fácilmente a tamaños de pantalla y dispositivos especiales, asegurando que un usuario constante disfrute de varios sistemas.
-
Mantenibilidad mejorada: al representar los formularios como tablas, los programadores pueden reducir la cantidad de código HTML y CSS guía que desean escribir, lo que hace que sea menos difícil mantener y actualizar los formularios al final.
Accesibilidad: el uso de tablas para representar formularios puede mejorar la accesibilidad para clientes con discapacidades, ya que los lectores de pantalla pueden interpretar mejor la forma y la relación entre los factores de forma.
Cómo representar formularios de Django como tabla
Ahora que entendemos los beneficios de representar formularios de Django como tablas, exploremos los pasos necesarios para lograrlo.
Paquetes a instalar
Instale Django: abra su terminal y escriba el siguiente comando para instalar Django
pip install django
Cree un nuevo proyecto Django: aún en su terminal, escriba el siguiente comando para crear un nuevo proyecto Django:
django−admin startproject myproject
Navegue al directorio de su proyecto
cd myproject
Crea una nueva aplicación Django
python manage.py startapp myapp
Cree un nuevo archivo form.py en el directorio Myapp
Para empezar, tenemos que crear una forma de Django. Esto se logrará caracterizando una clase de formulario en su archivo Forms.py, adquiriéndola de django.forms.ModelForm o django.forms.Form.
Importe los módulos fundamentales: formularios del paquete django y el modelo de usuario del archivo models.py de la aplicación actual.
Cree una clase de formulario llamada UserForm que herede de formularios.ModelForm.
-
Dentro de la clase UserForm, cree una clase Meta anidada.
Establezca el atributo de modelo de la clase Meta en el modelo de usuario. Esto le dice a Django que el formulario se usará para crear o editar instancias de usuario.
Cree una lista de nombres de campos dentro de la calidad de campo de la clase Meta. Estos son los campos que se incluirán dentro del formulario.
from django import forms
from .models import User
class UserForm(forms.ModelForm):
class Meta:
model = User
fields = ['first_name', 'last_name', 'roll_no', 'password']
Actualice views.py en el directorio Myapp
El código importa UserForm desde formularios y lo usa en la función user_form_view, que representa el formulario en 'form.html'.
from django.shortcuts import render
from .forms import UserForm
def user_form_view(request):
form = UserForm()
return render(request, 'form.html', {'form': form})
Cree un nuevo directorio de plantillas en el directorio myapp y cree un nuevo archivo form.html en el directorio de plantillas
A continuación, utilizaremos el método integrado de Django para representar formularios como tablas: el método as_table. En su plantilla, llamará al método as_table en la aparición del formulario como se muestra a continuación:
Cree un componente de marco HTML con la propiedad método="POST" para indicar que el marco utilizará la estrategia POST al enviar datos.
Utilice la etiqueta de formato {% csrf_token %} para incluir un token CSRF dentro del formulario, lo que permite protegerse contra ataques de imitación de solicitudes entre sitios.
Cree un elemento de tabla HTML.
Dentro del elemento de tabla, use la etiqueta de plantilla {{ form.as_table }} para representar el formulario de Django como una tabla. Esto producirá el HTML vital para cada campo del formulario, y cada campo se mostrará en su propia fila de la tabla.
Agregue un componente de entrada HTML con el atributo tipo="enviar" para formar un botón de envío para el formulario.
<form method="POST">
{% csrf_token %}
<table class="form-table" style="width: 100%;">
{{ form.as_table }}
</table>
<input type="submit" value="Submit">
</form>
Actualice urls.py en el directorio myapp
Este fragmento de código crea un enrutamiento de URL para la aplicación myapp de Django. Define una ruta para la vista del formulario de usuario en la URL base.
from django.urls import path
from .views import user_form_view
urlpatterns = [
path('', user_form_view, name='user_form'),
]
Actualice urls.py en el directorio Myproject
Este código configura las configuraciones de URL principales para el proyecto Django myproject. Incluye las configuraciones de URL tanto para el sitio de administración como para la aplicación myapp.
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')),
]
Ejecute el servidor
python manage.py runserver
Ahora, si navega a http://127.0.0.1:8000/ en su navegador web, debería ver su formulario. Esta es la "salida" de su aplicación Django.
Producción
¡Lo hicimos! Nuestro formulario Django se ha renderizado exitosamente como una tabla. Aquí está el formulario de registro de usuario final, que muestra elegantemente cuatro campos.
Una aplicación web en Django consta de varias partes interconectadas y no es posible condensarla en un único script de Python independiente que pueda ejecutarse para obtener una salida en la consola.
Mejores prácticas para representar formularios de Django como tabla
Para garantizar la mejor experiencia de usuario y capacidad de mantenimiento posibles, siga estas mejores prácticas al representar formularios de Django como tablas:
Utilice marcado semántico: utilice los componentes adecuados de la tabla, como thead, tbody y tfoot, para proporcionar una configuración y accesibilidad de progreso mucho mejores.
Agregue nombres y marcadores de posición: asegúrese de incorporar nombres para cada campo del formulario, así como marcadores de posición, para dirigir a los usuarios a través del proceso de llenado del formulario.
Aplique un plan responsivo: asegúrese de que su tabla responda utilizando consultas de medios CSS o un marco CSS, como Bootstrap, que brinde clases de tablas responsivas.
Implemente protección CSRF: proteja sus formularios contra ataques de falsificación de solicitudes entre sitios (CSRF) incluyendo la etiqueta de plantilla {% csrf_token %} dentro de su elemento de formulario. Django manejará automáticamente la protección CSRF cuando se use esta etiqueta.
Conclusión
Representar formularios de Django como tablas ofrece varios beneficios, como un formato organizado, diseño responsivo, mantenibilidad avanzada y disponibilidad mejorada. Si sigue los pasos descritos en este artículo y sigue las mejores prácticas, estará bien equipado para crear aplicaciones web optimizadas, fáciles de usar y viables utilizando Django.
A medida que proceda a crear sus habilidades en Django, recuerde mantenerse actualizado con las mejores prácticas, instrumentos y procedimientos más recientes para garantizar que sus proyectos sean continuamente efectivos, seguros y fáciles de usar.