0% encontró este documento útil (0 votos)
52 vistas46 páginas

Django Parte 3

El documento detalla el proceso de creación y configuración de un proyecto Django, incluyendo la instalación de dependencias, la creación de aplicaciones y la personalización de la interfaz de administración. Se abordan temas como la gestión de plantillas, la protección de secciones mediante autenticación y la creación de modelos para productos y categorías. Además, se explica cómo manejar archivos estáticos y la configuración necesaria en el archivo settings.py.

Cargado por

richardmazuelos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
52 vistas46 páginas

Django Parte 3

El documento detalla el proceso de creación y configuración de un proyecto Django, incluyendo la instalación de dependencias, la creación de aplicaciones y la personalización de la interfaz de administración. Se abordan temas como la gestión de plantillas, la protección de secciones mediante autenticación y la creación de modelos para productos y categorías. Además, se explica cómo manejar archivos estáticos y la configuración necesaria en el archivo settings.py.

Cargado por

richardmazuelos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

DJANGO

PARTE 3
DJANGO
• Para iniciar un proyecto vamos a generar una carpeta principal.
• Luego, abriremos esta carpeta con VSCode.
• Abriremos la consola (ctrl + shift + ñ) y verificaremos que estamos
dentro de la carpeta.
RESUMEN

CÓDIGOS PARA PREPARACIÓN CÓDIGOS PARA IMPLEMENTACIÓN


• Trabajando desde la consola dentro de • Trabajando desde la consola dentro de la
la carpeta Tutorial: carpeta Tutorial:
• pip --version • django-admin startproject
Tutorial .
• pip install virtualenv
• python manage.py runserver
• python -m venv venv
• python manage.py startapp
• venv\scripts\actívate
empleados
• pip install django
• python manage.py migrate
• python -m django --version
• python manage.py
createsuperuser
DJANGO ADMIN
• Si queremos cambiar el idioma de nuestro panel admin, podemos
hacerlo en el archivo settings.py, cerca de la línea 106 en
LENGUAGE_CODE lo cambiamos a es-cl:
DJANGO ADMIN
• Para configurar este usuario y contraseña bajaremos el servidor.
• Luego en la terminal, vamos a crear a un super usuario.
• python manage.py createsuperuser
• Se nos solicitará los siguientes datos:
• Username: admin
• Email: admin@gmail.com
• Password: 1234
• Password (again): 1234
• La contraseña es muy insegura, se nos preguntará si estamos seguros.
Escribimos “Y”.
DJANGO ADMIN
• Corremos nuestro servidor nuevamente y entramos con nuestras
credenciales nuevas.
DJANGO ADMIN
• Si queremos cambiar el idioma de nuestro panel admin, podemos
hacerlo en el archivo settings.py, cerca de la línea 106 en
LENGUAGE_CODE lo cambiamos a es-cl:
RESUMEN

CÓDIGOS PARA PREPARACIÓN CÓDIGOS PARA IMPLEMENTACIÓN


• Trabajando desde la consola dentro de • Trabajando desde la consola dentro de la
la carpeta Tutorial: carpeta Tutorial:
• pip --version • django-admin startproject
Tutorial .
• pip install virtualenv
• python manage.py runserver
• python -m venv venv
• python manage.py startapp
• venv\scripts\actívate
empleados
• pip install django
• python manage.py migrate
• python -m django --version
• python manage.py
createsuperuser
DJANGO APP
• Este mensaje nos dice que están pendientes algunos migraciones
necesarias en el proyecto.
• Incluso nos muestra la sentencia que debemos utilizar para este
objetivo:
python manage.py migrate
• Luego corremos nuevamente el servidor.
python manage.py runserver
TEMPLATES
• Vamos a crear nuestra carpeta templates dentro de nuestro proyecto
principal. Para ser más específicos, debe estar al mismo nivel que
manage.py.
• Dentro crearemos un archivo llamado home.html.
• Ahora quedan solo 3 pasos:
• Añadir contenido HTML a home.html
• Actualizar nuestro archivo views.py
• Actualizar la ubicación de nuestro directorio
TEMPLATES
• Nuestro último paso es actualizar la dirección de nuestros templates en
settings.py (línea 55 aproximadamente).
PERSONALIZANDO NUESTRA WEB
• Vamos a crear un archivo llamado base.html.
• Este archivo contendrá la plantilla que se repetirá página a página por lo que
debemos configurar aquí el menú de navegación.
• Copiaremos todo el sitio home.html en base.html, omitiendo solo el fragmento
de código <h1>Bienvenido CFT</h1>
• Dentro de un espacio, señalaremos donde se importarán las páginas restantes.
• Para señalar esto, debemos poner lo siguiente:

<div class="container">
{% block content %}
{% endblock%}
</div>
PERSONALIZANDO NUESTRA WEB
• En el archivo home.html vamos a añadir un código que nos permitirá
utilizar base.html.
{% extends 'base.html' %}
{% block content %}
<h1>Bienvenido CFT</h1>
{% endblock content %}

• Esta misma estructura tenemos que replicarla en los otros sitios como
se verá en la siguiente imagen:
PERSONALIZANDO NUESTRA WEB
PERSONALIZANDO NUESTRA WEB
MODELS
• Antes de añadir algún empleado, haremos algunos cambios.
• En Tutorial/settings.py vamos a la línea 109, modificamos TIME_ZONE =
'America/Santiago’
• Luego vamos a comparar la clase modelo con el menú de
administración.
SECCIONES PROTEGIDAS
LOGIN REQUIERED
SECCIONES PROTEGIDAS

• Podemos proteger algunas secciones de la página evitando que sean visibles


para los usuarios no autorizados, es decir, páginas a las que solo se puede
ingresar si se inicia sesión.
• Para esta configuración debemos ir al archivo views.py e importar la librería:
from django.contrib.auth.decorators import login_required
• Antes de cada función que queramos proteger, debemos añadir el
decorador:
@login_required
SECCIONES PROTEGIDAS
PROTECCIÓN DE ENLACES

• Como tenemos protegida la acción de eliminar, Django no sabe que hacer


cuando el usuario quiera acceder a este vínculo.
• Lo que podemos hacer en este caso es indicarle a nuestro sitio web donde
debe redirigir al usuario cuando intente acceder a un sitio no autorizado.
• En settings.py debemos ir a la línea 120 aproximadamente. Acá añadiremos
el siguiente código:
LOGIN_URL = 'login'
• El nombre de la página a la que queremos redirigir en este caso es login.
PRODUCTOS
NUEVA APP
PRODUCTOS

• Vamos a expandir nuestro sitio web añadiendo una nueva APP llamada productos.
• Esta app se dividirá en 2 modelos. Uno para definir los productos y otro para
definir las categorías.
• Recordemos lo inicios en Django:
• Para instalar una nueva app, debemos tener activado nuestro entorno virtual.
Luego crear la carpeta de la nueva app:
venv\scripts\activate
python manage.py startapp productos
PRODUCTOS

• Como ya tenemos experiencia creando APP vamos a agilizar este proceso:


• Instalamos nuestra APP en settings.py
• En urls.py de Tutorial, añadimos con include las urls de productos.
• Creamos el archivo urls.py dentro de productos.
• Creamos la carpeta templates con la pagina productos.html
• Clonamos la página home.html y cambiamos el titulo de la página.
• En urls.py añadimos y configuramos un nuevo path llamado productos.
• En views.py creamos la función que renderice la nueva página (productos.html).
PRODUCTOS
MODELS

• Ahora toca revisar el archivo models.py y crear nuestros modelos de


Categoría y Producto.
• Una vez terminado este proceso, usamos las sentencias necesarias para
actualizar el sistema y la base de datos:
python manage.py makemigrations
python manage.py migrate

• Luego de esto, debemos añadir estas dos clases en el archivo admin.py para
que se visualice en la pagina de administración.
MODELS
MODELS

• Django si o si va a necesitar una clave primaria.


• Si no definimos alguna clave primaria, Django de forma automática generará
una llamada ID de tipo numérico autoincrementable.
• Una vez definida la clase Categoría, definimos la clase Producto. Dentro de
esta clase vamos a añadir una columna que funcionará como clave primaria
que apunta a Categoría.
categoria = models.ForeignKey(Categoria,
on_delete=models.CASCADE)
ADMIN
PAGINA WEB

• Vamos a modificar la página web de productos. Para esto copiaremos la


estructura de la página empleados y la adaptaremos según nuestras
necesidades.
• Ocuparemos un input de tipo select para elegir las categorías. Se llenarán de
forma automática según las categorías ya agregadas.
• Dentro de esta misma página podemos añadir las categorías y todas las
funcionalidades respectivas a este.
• Los numero de ID por ahora son automáticos, por lo que no los añadiremos a los
formularios.
TITULO

• Texto
STATIC
CSS, STYLE Y MULTIMEDIA
STATIC

• Primer paso, será crear un nuevo directorio en la raíz de nuestro proyecto


llamado static.
• Dentro de este directorio crearemos subcarpetas para los diferentes archivos.
• Por ahora, solo ingresaremos un archivo de imagen.
STATIC

• En nuestra página
principal “home” vamos
añadir la dirección de la
imagen para que se
visualice.
• Aún la imagen no se
verá.
• Debemos actualizar la
ruta en settings.py
STATIC

• En settings.py nos ubicaremos aproximadamente en la línea 120 y añadiremos


lo siguiente:
• URL para acceder a los archivos estáticos
STATIC_URL = '/static/'
• Directorio donde Django recolectará todos los archivos estáticos de las apps
STATIC_ROOT = BASE_DIR /'static'
• Directorios adicionales donde Django buscará archivos estáticos
STATICFILES_DIRS = ['Tutorial/static', ]
STATIC
• Volviendo a nuestra página
principal “home” vamos actualizar
la dirección de la imagen.
• También debemos añadir una
sentencia extra:
{% load static %}
• En cuanto a la dirección, esta vez
señalamos solo la carpeta dentro
de static.
• Añadiremos unos ajustes extra
para que la imagen no sea tan
grande.
STATIC

• Resultado:
FIN
PARTE 2

También podría gustarte