Django, el framework web en Python, ofrece varias características que facilitan la construcción de sitios con base de datos SQL y renderizado de HTML en el servidor, un enfoque deliberadamente复古 que contrasta con las aplicaciones de página única basadas en JavaScript. La autora describe su experiencia aprendiendo este estilo de desarrollo web y repasa las funcionalidades que más le han ayudado.
Entre los puntos positivos destaca el uso de query builders: definir una clase QuerySet con métodos que encapsulan cláusulas WHERE permite encadenar filtros de forma legible, como Events.objects.approved().for_tab(tab).with_festivals(...). Los filtros de plantilla de Django también resultan muy útiles para tareas cotidianas: urlize, linebreaksbr, date y json_script convierten texto plano en HTML de forma segura con poco esfuerzo. El filtro querystring permite generar enlaces que modifican un único parámetro de la URL conservando el resto, algo valioso para interfaces con filtros por fecha u otros criterios.
El sistema de migraciones automáticas sigue siendo una de las grandes bazas: editar un modelo y generar la migración correspondiente simplifica enormemente los cambios de esquema. Hasta la fecha se han realizado 19 migraciones.
Como contrapunto, la autora rechaza el uso de herencia para organizar vistas —ha migrado a vistas basadas en funciones tras probar las vistas basadas en clases— y reconoce no saber cómo razonar sobre el rendimiento de un sitio Django. Pruebas de carga ligeras con la herramienta ab muestran unos 2-3 peticiones por segundo en una máquina virtual de unos 10 dólares al mes, una cifra que podría quedarse corta ante picos de tráfico. Quedan abiertas cuestiones sobre escalado, uso de caché y si conviene cambiar a Jinja como motor de plantillas.
