Si estás interesado en el desarrollo web, definitivamente encontrarás Django interesante. Django es esencialmente un marco de desarrollo web basado en Python. Ha sido diseñado para ahorrarle mucho tiempo y hacer que el desarrollo web sea mucho más simple y divertido. Puede usar Django para construir y mantener aplicaciones web de alta calidad sin mucho alboroto.

El desarrollo web en sí mismo es una mezcla de creatividad y elementos divertidos, y un montón de cosas repetitivas. Lo que hace Django es que te permite concentrarte en las partes divertidas y la parte clave de tu aplicación web, mientras que hace que las partes repetitivas sean menos complicadas. En otras palabras, proporciona un acceso directo a tareas frecuentes de programación y abstracciones de patrones comunes en el desarrollo web. También ofrece convenciones claras sobre la resolución de problemas. Hace todo esto al tiempo que le da la libertad de trabajar fuera del marco de trabajo cuando sea necesario.

¿Qué es un marco web?

Por supuesto, antes de presentar Django, primero debemos saber qué son los frameworks web, dada su importancia en las aplicaciones web actuales. Para comprender los marcos web, echemos un vistazo a cómo codifica una aplicación Python cuando no usa un marco. La forma más sencilla de hacerlo es con una interfaz de puerta de enlace común (CGI). Solo necesita crear un script con una salida HTML y luego guardar el script con un. extensión cgi a un servidor web. Para páginas simples, un enfoque de escritura desde cero es probablemente el mejor. El código es más sencillo de entender y no hay otro código para leer. También es más sencillo de implementar.

A pesar de su simplicidad, el enfoque presenta varios desafíos. Por ejemplo, ¿qué haría si necesitara varias partes de su aplicación para conectarse a una base de datos? Si utiliza el método anterior, deberá duplicar el código de conexión de la base de datos en cada script CGI. Esto no solo puede ser engorroso, sino que también puede aumentar las posibilidades de que se produzca un error humano. Sin embargo, el método más fácil sería poner este código en una función compartida. Cuando el código se reutiliza en varios entornos con una contraseña y una base de datos separadas, deberá configurar el código para cada entorno específico.

Además, si no tiene mucha experiencia con Python, es más probable que cometa errores más pequeños que pueden hacer que la aplicación se bloquee. La lógica de la página se separaría idealmente de los elementos de visualización HTML, por lo que el editor podría editar cada elemento sin afectar al otro.

Un marco web resuelve estos problemas formando una infraestructura para programar aplicaciones. Esto le ayuda a concentrarse en escribir un código más fácil de mantener y más limpio. Esto también es lo que hace Django.

Modelo-Vista-Controlador

Django sigue de cerca el patrón Modelo-Vista-Controlador (MVC), tanto que podría clasificarse como un marco MVC. Este patrón separa el modelado del dominio, las presentaciones y la acción basada en la entrada del usuario en tres clases únicas. Para entender esto mejor, solo eche un vistazo a un script Python CGI.

Un script CGI estándar incluirá algunos elementos HTML introductorios para el front-end y luego una conexión a una base de datos. Aquí hay un código de ejemplo de una conexión de base de datos en un Python CGI:

connection = MySQLdb.connect (usuario = 'ABC', passwd = 'xxxxxxxx', db = 'my_db')

Después de eso, tiene un comando de ejecución para ejecutar la consulta. Luego tiene algo de HTML para mostrar los resultados de la consulta en el front-end. Finalmente, cierra la conexión con una línea simple:

connection.close ()

Ahora, con Django, tiene tres archivos Python, identificados con sus. sufijo py. El primero sería las tablas de la base de datos, models.py. El segundo contendría la lógica de la aplicación, views.py. Y el tercero tendría la configuración de URL, urls.py. Finalmente, tendría algunos elementos HTML para presentar los resultados en el front-end. La separación en varios archivos de Python es la clave aquí; No tiene que preocuparse por la sintaxis.

El archivo models.py tiene una descripción de la tabla de la base de datos. Con esta clase de Python, puede crear, eliminar, recuperar y actualizar registros utilizando un código simple de Python en lugar de repetir sentencias SQL. El archivo views.py tiene la lógica de negocios, y la función latest_books () es la vista. El archivo urls.py especifica qué vista se llama para una URL determinada. Por ejemplo, puede codificar una vista para que se solicite en caso de que el navegador cargue una URL de dominio / ejemplo /. Esto significa que si su dominio es abc.com, una visita a la URL abc.com/example/ llamaría a esta función.

La plantilla HTML describe el diseño de la página. Utiliza un lenguaje de plantilla y declaraciones lógicas básicas. En total, estas piezas siguen el patrón MVC.

MVC es un método de desarrollo de software en el que el modelo, que es el código para acceder y definir datos, es independiente del controlador, que es la lógica de enrutamiento de solicitudes, que también es independiente de la vista, que es la interfaz de usuario. MVC es útil porque los componentes están muy poco acoplados. Por lo tanto, cada parte de la aplicación web tiene sus propios propósitos únicos y se puede cambiar de forma independiente sin tener que cambiar otras piezas drásticamente. Por ejemplo, puede cambiar la URL en cualquier parte de la aplicación y cambiaría la implementación, y sin tocar el código Python que lo representa. Puede cambiar el nombre de una tabla en la base de datos y especificar los cambios en un solo lugar sin reemplazar docenas de archivos.

Cursos recomendados

  • Programa en Windows 10
  • Curso de paquete de prueba de software profesional
  • Paquete de entrenamiento de programación de Python
  • Entrenamiento completo de Django

Una breve historia de Django

Ahora que sabe un poco sobre los frameworks web, es hora de profundizar un poco en la historia de Django. Saber de dónde viene Django puede ayudarlo a comprender mejor cómo funciona y cómo operar sus accesos directos. Si ha estado creando aplicaciones web, probablemente ya conozca los problemas asociados con CGI. La ruta clásica del desarrollo web es así:

  1. Escribes una aplicación web desde cero
  2. Escribes una segunda solicitud
  3. Te das cuenta de que hay varios elementos comunes entre las dos aplicaciones
  4. Refactoriza el código para que la aplicación 1 tenga el mismo código que el segundo
  5. Repites 2-4 algunas veces
  6. Te das cuenta de que has formado un marco

Así es como también se creó Django. Se formó a partir de aplicaciones del mundo real que fueron escritas por un equipo de desarrollo web en Kansas. Fue creado en 2003, cuando los programadores web Adrian Holovaty y Simon Willison comenzaron a usar Python para crear aplicaciones.

El equipo de World Online, responsable de mantener y producir varios sitios de noticias locales, vio grandes beneficios en un entorno de desarrollo web dictado por los plazos del periodismo. Para los sitios, los periodistas y la gerencia querían que se agregaran características y que las aplicaciones se construyeran en un horario rápido, con solo días u horas de aviso. Luego, los dos desarrolladores formaron un marco de desarrollo web para ahorrar tiempo y crear aplicaciones mantenibles dentro de los plazos.

Luego, el equipo lanzó el framework como un software de código abierto en el verano de 2005, nombrándolo Django como Django Reinhardt, posiblemente uno de los mejores guitarristas de jazz de todos los tiempos. Desde entonces, Django se ha establecido como un proyecto de código abierto popular con miles de seguidores, contribuyentes y usuarios en todo el mundo. Dos de los desarrolladores originales, Jacob y Adrian, todavía dieron su orientación central para el crecimiento del marco.

Pero, ¿por qué estamos discutiendo la historia de Django? Bueno, por dos razones. La primera es que ayuda a identificar y explicar el "punto óptimo" del software. Django nació de un entorno de noticias y, por lo tanto, está lleno de características más adecuadas para sitios centrados en el contenido, como Washington Post, Amazon y Craigslist, que ofrecen información dinámica y basada en bases de datos. Aún así, Django también es bueno para cualquier sitio web dinámico. La segunda razón es que la historia de Django le ayuda a comprender cómo se ha formado la cultura de su comunidad.

Django se ha formado a partir de código del mundo real y no a partir de un producto comercial o ejercicio académico. Como resultado, está altamente enfocado en resolver los problemas que enfrentan los desarrolladores web originales y los problemas que los desarrolladores actuales aún enfrentan. Esto significa que Django ve mejoras casi diarias. El equipo de mantenimiento del marco tiene un interés personal en asegurarse de que la herramienta ahorre tiempo para el desarrollador y produzca aplicaciones fáciles de mantener y que funcionen bien en cargas pesadas. Todos quieren facilitarse las cosas, en otras palabras.

Instalando Django

Entonces, ya debería estar bastante claro que Django es una herramienta para simplificar el desarrollo web. Pero instalar la herramienta en sí puede tomar algunos pasos debido a la cantidad de partes móviles en los entornos de desarrollo web actuales.

Django es básicamente un código Python, por lo que se ejecuta en cualquier lugar que lo haga Python, que también incluye algunos teléfonos celulares. Supongamos que lo está instalando en una computadora de escritorio o portátil, o en un servidor. Dado que Django está escrito en Python, primero necesita instalar Python. Los marcos centrales de Django con cualquier versión de Python desde 2.5 en adelante. Si no está seguro de qué elegir, elija la última versión de Python, ya que tienen características de lenguaje y mejoras de rendimiento que pueden resultarle útiles.

Si está en Mac o Linux, probablemente ya tenga Python en su computadora. Puede verificar esto yendo al símbolo del sistema y escribiendo 'python' en la línea de comando. Debería ver algo como esto:

Python 3.5.1 (v3.5.1: 37a07cee5969, 6 de diciembre de 2015, 01:54:25)

(MSC v.1900 de 64 bits (AMD64)) en win32

Escriba "ayuda", "derechos de autor", "créditos" o "licencia" para obtener más información.

>>>

Si no ve esto, debe descargarlo e instalarlo. Una vez instalado, debe descargar e instalar Django. Puede elegir entre dos versiones: la última versión oficial o la versión de desarrollo web de última generación. Lo que eliges se basa en lo que quieres. Si desea una versión probada y estable, vaya a la versión oficial. Si desea algo con las últimas características y desea contribuir a la comunidad, y puede manejar la falta de estabilidad, vaya a la versión de desarrollo web.

Para empezar, es mejor ir al lanzamiento oficial. Puede encontrar el último en el sitio web del Proyecto Django. Si tiene una distribución de Linux con el paquete Django, busque la versión del distribuidor para que también obtenga actualizaciones de seguridad.

Configurar una base de datos

El único requisito previo de Django es que tenga una instalación de Python que funcione. Una vez que tenga esa configuración, puede comenzar a escribir una aplicación web de inmediato. Sin embargo, como se mencionó anteriormente, Django se desarrolló con un enfoque en aplicaciones web basadas en bases de datos centradas en el contenido. Entonces, lo más probable es que desarrolle un sitio web basado en bases de datos. En ese caso, debe configurar un servidor de base de datos.

Django admite cuatro motores de base de datos: MySQL, Oracle, SQLite 3 y PostgreSQL. Todos los motores funcionan igualmente bien en su mayor parte con el marco central. Se recomienda PostgreSQL si no tiene vínculos con un sistema heredado y puede elegir un servidor de base de datos.

Para configurar una base de datos, debe instalar y configurar el servidor en sí. Cada base de datos que elija tiene su propia forma de configuración, por lo que debe consultarla. En segundo lugar, debe instalar la biblioteca de Python para ese backend de base de datos en particular. Este es un código de terceros para que Python interactúe con la base de datos.

Se recomienda SQLite si solo está experimentando con Django y no desea instalar un servidor. No requiere instalación; solo puede leer y escribir datos en un solo archivo en su sistema, y ​​es compatible con Python 2.5 y superior. Windows dificulta un poco la obtención de binarios de controladores de bases de datos.

Si opta por MySQL, necesita MySQL 4.0 o superior, ya que las versiones anteriores no son compatibles con las funciones de Django. También debe instalar el paquete MySQLdb desde la página del Proyecto Django. Si está utilizando Linux, el sistema de administración de paquetes de su distribución puede tener un paquete llamado 'mysql-python', 'python-mysqldb' o 'python-mysql'.

Django funciona con las versiones 9i o superiores del servidor de base de datos Oracle. También necesita instalar la biblioteca cx_Oracle desde el sitio web cx-Oracle. Alternativamente, puede usar Django sin una base de datos por completo, si solo quiere usarlo para servir páginas dinámicas sin hacer referencia a una base de datos. Dicho esto, algunas de las herramientas en Django requieren una base de datos, y no tenerla hará que se las pierda.

Artículos recomendados

Aquí hay algunos artículos que lo ayudarán a obtener más detalles sobre Python y Django para el desarrollo web, así que solo vaya al enlace.

  1. Python vs JavaScript - Aprenda las 11 diferencias útiles
  2. Las 10 mejores preguntas para la entrevista de desarrollo web que debes saber
  3. 10 tipos de programación en Python
  4. Python vs Ruby Performance y sus beneficios útiles
  5. Python vs JavaScript Diferencias clave
  6. Python vs Go