Python Django-1
Python Django-1
Estudio
Página |1
Requisitos
Instalación Python:
Instalación Pip
Pip es el gestor de paquetes de Python, y su instalación se realiza normalmente con el mismo Python, para
asegurarnos de que está instalado y de su versión ejecute:
pip --version
donde:
--default instala la versión por defecto que se adapte mejor a la versión Python.
Instalación Virtualvenv
Lo siguiente seria la instalación de virtualenv, el cual nos ayuda a generar entornos aislados para nuestros
proyectos.
una vez creado el proyecto e instalado virtualvenv, se le genera un entorno virtual y se activa (por lo general
el nombre del entorno es env).
Una vez activo el entorno virtual, cualquier comando que se ejecute (como pip install) afectara solamente
a el entorno del proyecto, y no al global. Para desactivarlo se debe ejecutar:
Página |3
deactivate
Instalación Django
Una vez activo nuestro entorno virtual podemos ejecutar el siguiente comando para la instalación de Django:
django-admin –version
Archivo requirements.txt
El archivo requirements.txt es un archivo de texto que contiene una lista de todas las dependencias
(paquetes o bibliotecas) de un proyecto en Python, junto con sus versiones especificadas, si es necesario.
Este archivo permite a los desarrolladores (incluyendo al creador) instalar las mismas versiones de las
bibliotecas que está usando el proyecto, garantizando que todos trabajen con las mismas dependencias.
Las aplicaciones en Django, son componentes modulares que contienen funciones relacionadas.
Además, debemos crear un archivo urls.py, el cual nos ayudara con la definición de rutas url para la
aplicación.
Luego de creada la aplicación, debe registrarse dentro del proyecto, para que este la detecte.
Ejecución Aplicación
Para ejecutar la aplicación se debe ejecutar:
Para aplicar una conexión a base de datos mongo, se debe instalar primero los paquetes por consola, con
los siguientes comandos:
En nuestro archivo model, vamos a realizar la generación de modelos que luego serán exportados a la db
que se encuentre asociada.
Y desde allí por medio de la interfaz gráfica podremos manipular la información de las tablas.
Página |7
Cuando ingresamos al localhost estaríamos ejecutando directamente el proyecto, sin embargo, según
nuestra estructura deseamos ejecutar las funcionalidades que están en nuestras aplicaciones, entonces, en
urls.py del proyecto vamos a hacer el enlace a la url de la aplicación, para esto debemos importar la
funcionalidad include y asignar un nuevo path.
Ahora, debemos construir nuestras funciones en la aplicación. De acuerdo al esquema, estas funciones
deberán estar en el archivo views.py.
Estas vistas recibirán una request http, y devolverán una response http.
por el momento, que aun no hemos creado templates, vamos a devolver un texto puntual.
Y, por último, deberemos apuntar una url hacia la función nueva, desde urls.py de la aplicación.
Página |8
El sistema renderiza el string que estamos devolviendo, eso quiere decir que podemos renderizar html, por
ejemplo:
resultado:
Templates HTML
Dentro de la aplicación vamos a crear una carpeta llamada “templates”; es allí donde vamos a crear todos
nuestros archivos HTML
Página |9
Luego, para nuestro ejercicio crearemos una nueva función en nuestro archivo views, y le asignamos una
ruta en nuestro archivo urls, ejemplo:
Vamos a crear la plantilla index.html a la que apunta nuestra función y renderizamos con la data enviada,
para este caso el dato ‘usuario’.
El resultado sería:
P á g i n a | 10
Antes de continuar, debemos entender cómo podemos manipular y recibir la información dentro de las views.
Si requerimos de parámetros por medio de la url, debemos modificar la ruta de acceso, para que tenga en
cuenta el dato a recibir.
En caso de requerir más de un parámetro, se separan por barra inclinada. En el ejemplo se esta tipando el
dato que espera (int), lo cual es una mejor práctica, pero también es posible, aunque no se recomienda no
tiparlo.
Controles de flujo
En el anterior ejemplo, en caso de no encontrar ningún objeto autor, mostrara el segmento del else.
For
El resultado seria:
P á g i n a | 12
Herencia de plantillas
Block y Extends
Es posible insertar una plantilla dentro de otra utilizando el sistema de herencia de Django. Para ello, es
importante entender que existirá una plantilla base o padre, y una o varias plantillas hijas que extenderán
su estructura.
La etiqueta {% block %} permite definir secciones en la plantilla padre que pueden ser personalizadas o
sobrescritas por las plantillas hijas. Así se determina qué partes del contenido pueden variar y dónde se
ubicarán.
Por otro lado, la etiqueta {% extends %} se utiliza en la plantilla hija para indicar que está heredando la
estructura de una plantilla padre, lo que permite reutilizar elementos comunes como encabezados, menús
o pies de página.
El block esta compuesto por un nombre que se le quiera otorgar, el extends por su parte esta compuesto
por la ruta de la plantilla padre.
{% block [nombre] %}
Plantilla padre:
P á g i n a | 13
Plantilla hija:
Resultado:
P á g i n a | 14
Include
Include también permite la inserción de una plantilla en otra, solo que esta inyecta la plantilla completa (no
por secciones block), además es posible pasar variables con la palabra reservada with. Ejemplo:
Plantilla padre:
P á g i n a | 15
Plantilla hija:
Resultado: