"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Django es para todos.

Django es para todos.

Publicado el 2024-09-05
Navegar:157

Django is for everyone.

Django es genial incluso para sitios web "pequeños"

Creo que la gente tiende a considerar Django ya sea para crear aplicaciones monolíticas de potencia industrial de la vieja escuela o para API y usar algo como React para el front-end. ¡Estoy aquí para decirles que el antiguo Django es una excelente opción incluso para sus sitios web personales! En mi opinión, si necesitas una base de datos, deberías usar Django1.

¿Por qué Django?

Django se considera un marco que “incluye baterías”, y esas baterías son increíbles. Estas son las cosas que me mantienen usando Django sobre cualquier otro framework.

El mapeador relacional de objetos (ORM)

El ORM de Django es una gran razón para utilizar el marco. Me sorprende que no todos los frameworks web incluyan un ORM. A menos que sea un gran admirador de escribir SQL desde cero, esta es la forma correcta de crear aplicaciones. Usted define modelos, crea migraciones de bases de datos a partir de esos modelos (en su mayoría automáticamente), ejecuta las migraciones en su base de datos y ¡listo! No hay que escribir modelos a medias, además de una serie de migraciones en las que se puede extrapolar el esquema2. Toda la información que necesita sobre sus datos está en su archivo models.py y todo fluye a partir de ahí.

El administrador

Este es el más importante. No es un CMS; es más una GUI para ORM. Después de definir sus modelos, puede, con muy poca configuración, administrar esos datos sin tener que escribir ningún código CRUD. No es la interfaz de su aplicación. No es un CMS para usuarios finales (probablemente). Es una forma para que los administradores realicen cambios fácilmente en el sitio.

Mejora progresiva

Esto es muy cercano y querido para mi corazón, pero la mayor parte del resto de nuestra industria parece haberlo olvidado. En pocas palabras; La funcionalidad de nivel básico debería ser posible incluso cuando falla JavaScript. Su aplicación debería poder al menos funcionar cojeando sin secuencias de comandos de front-end. Hacer eso con un SPA es una pesadilla. Hacerlo con un marco backend real más una herramienta como htmx o Unpoly es trivial. Sólo tienes que cambiar tu perspectiva del status quo al sentido común.

Conceptos a tener en cuenta

mtv

Mientras que los marcos de aplicaciones tradicionales utilizan el patrón de diseño Modelo, Vista y Controlador; Django nombra sus elementos de manera un poco diferente.

  • Modelo
    • Ok, este es el mismo.
  • Plantilla
    • Esto es equivalente a la tradicional Ver.
  • Vista
    • Esto es mayormente equivalente al tradicional Controlador.

Migraciones de bases de datos

Este es un problema resuelto en Django. ¡Es realmente lindo! Hay mucho más que saber al respecto, y debería mirar los archivos de migración generados antes de ejecutarlos, y hay ocasiones en las que necesitará hacer estas cosas de forma más manual, pero este es el quid de su uso:

./manage.py makemigrations
# It tells you what it did.

./manage.py migrate
# Database updated!

¡Eso es todo! ?

Cómo empezar

Blaze.caballo

Aquí es donde me comprometo con mi propio pequeño proyecto. La buena noticia para ti, desarrollador en solitario que imagino que está leyendo esto, es que es gratuito para uso no comercial. Si terminas usándolo y te ayudó a crear una aplicación comercial, solo cuesta $100 USD una vez. ¡Vamos, eso es un gran valor!

Incluso si no terminas usando todo el kit, te insto a que revises las técnicas que uso en el código. Esto es algo que ha costado mucho conseguir después de usar Django casi desde sus inicios. Pasé por una fase de uso con Docker y Postgres, pero realmente creo que esta es la forma para el 99% de las personas que quieren probar Django. SQLite es increíble.

Despliegue

Desafortunadamente, esta es la principal desventaja de elegir Django sobre otras opciones dirigidas a sitios web personales. Con Blaze.horse, he intentado prepararte para que tengas un momento fácil, pero sigue siendo más complicado de lo que debería ser. Hay algunos proyectos prometedores que me dan esperanza, como Button y Appliku, pero personalmente estoy contento con Fly por ahora.

Próximos pasos

Después de leer esto, espero que tengas en cuenta a Django la próxima vez que necesites crear algo. ¡Déjame saber si puedo ayudarte!


  1. Si necesitas un CMS, debes usar Kirby. Usted ciertamente no debería utilizar un generador de sitios estáticos si necesita un CMS. FFS ↩

  2. Laravel ↩

Declaración de liberación Este artículo se reproduce en: https://dev.to/battlecat/django-is-for-everyone-3dkp?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3