¿Qué es Django?
Django es un framework de aplicaciones web gratuito y de código abierto (open source) escrito en Python. Un framework web es un conjunto de componentes que te ayudan a desarrollar sitios web más fácil y rápidamente.
Cuando construyes un sitio web, siempre necesitas un conjunto de componentes similares: una manera de manejar la autenticación de usuarios (registrarse, iniciar sesión, cerrar sesión), un panel de administración para tu sitio web, formularios, una forma de subir archivos, etc.
Por suerte para nosotros, hace tiempo que otros desarrolladores se dieron cuenta de que siempre se enfrentaban a los mismos problemas cuando construían sitios web, y por eso se unieron y crearon frameworks (Django es uno de ellos) con componentes listos para usarse.
Los frameworks sirven para que no tengamos que reinventar la rueda cada vez y que podamos avanzar más rápido al construir un nuevo sitio.
¿Por qué necesitas un framework?
Para entender para qué sirve realmente Django, necesitamos fijarnos en cómo funcionan los servidores. Lo primero es que el servidor necesita enterarse de que tú quieres que te sirva una página web.
Imagina un buzón (puerto) en el que alguien está constantemente mirando si hay cartas entrantes (peticiones). Esto es lo que hace un servidor web. El servidor web lee la carta, y envía una respuesta con la página web. Pero para enviar algo, tenemos que tener algún contenido. Y Django nos ayuda a crear ese contenido.
¿Qué sucede cuando alguien solicita una página web de tu servidor?
Cuando llega una petición a un servidor web, esta es pasada a Django, quien intenta averiguar qué es lo realmente solicitado. Toma primero una dirección de página web e intenta averiguar qué hacer con ella. Esta parte es realizada por el urlresolver de Django (ten en cuenta que la dirección de un sitio web es llamada URL - Uniform Resource Locator; así que el nombre urlresolver tiene sentido). Este no es muy inteligente - toma una lista de patrones y trata de hacer coincidir la URL. Django comprueba los patrones de arriba hacia abajo y si algo coincide entonces Django le pasa la solicitud a la función asociada (que se llama view (vista)).
Imagina a un cartero llevando una carta. Él está caminando por la calle y comprueba cada número de casa con el que está en la carta. Si coincide, deja la carta allí. Así es como funciona el urlresolver!
En la función de view (vista) se hacen todas las cosas interesantes: podemos mirar a una base de datos para buscar alguna información. ¿Tal vez el usuario pidió cambiar algo en los datos? Como una carta diciendo "Por favor cambia la descripción de mi trabajo." La vista puede comprobar si tienes permiso para hacerlo, actualizar la descripción de tu trabajo y devolver un mensaje: "¡Hecho!". Luego la vista genera una respuesta y Django puede enviarla al navegador del usuario.
Esta descripción es un poco simplista, pero de momento no necesitas saber todos los detalles técnicos, con tener una idea general es más que suficiente.
Así que en lugar de detenernos demasiado en los detalles, vamos a empezar a crear algo con Django y ¡así aprenderemos las cosas importantes sobre la marcha!
Instalacion de Django
Para instalar Django con python, podemos ir a su pagina oficial https://www.djangoproject.com
Se debe de instalar Python para que se pueda utilizar Django.
No se necesita instalar un motor de base de datos porque el framework, en la instalación, incluye una base de datos ligera llamada SQLite.
Explica como instalar django
pip install Django==3.0.6
Y para instalar en versiones podemos hacerlo de la siguiente manera:
Con los siguientes comandos se puede verificar qué versión se está utilizando de Django de acuerdo con la versión respectiva de Python:
Se pueden utilizar diferentes motores de bases de datos si se desea, así como: PostgreSQL, MariaDB, MySQL y Oracle.
Cada motor de base de datos requiere la instalación de un módulo y se debe de configurar el archivo Setting.py que es un archivo tipo Python del Framework.
Pasos para un proyecto de Django:
Crear un proyecto
Crear una aplicación
Correr servidor y ver nuestro sitio web (el framework trae su propio servidor)
Hacer migraciones (por medio de un comando en el CMD) (migraciones de BD a otro motor)
Correr página web en el browser
Crear modelos en archivo Modelos.py (programar)
Hacer migraciones del modelo
Registrar nuestro modelo en admin.py (desde el IDE)
Crear una cuenta de administrador o súper usuario del sitio web
Entrar a servidor
Ver nuestro sitio web
Comments