Curso Básico de Django - PPT
Curso Básico de Django - PPT
Curso Básico de Django - PPT
DE DJANGO
LEONARDO FRANCISCO CURACA SUCAPUCA
PRIMER
MÓDULO
Conociendo
a tu instructor
Presentación del docente
Ahora, conoceremos algunos aspectos relevantes
del experto y del contenido a abordar en este curso.
Los temas que abordaremos son:
¿Quién soy?
¿Qué hago? Mi experiencia
¿Por qué es importante llevar este curso?
¿Qué aprenderás en este curso?
¿Qué necesitas para llevar a cabo este curso?
LEONARDO CURACA
¿Quién soy?
Técnico profesional, graduado en Diseño de Software
e Integración de Sistemas en Tecsup.
¿Qué hago?
Más de 2 años de experiencia, participando y
liderando proyectos muy diversos, desde sitios web
hasta aplicaciones web complejas.
¿Por qué es importante
llevar este curso?
Django, se caracteriza por ser uno de los
frameworks en desarrollar aplicaciones en
menor tiempo y a menor costo. Este curso,
te mostrará los primeros pasos para
incursionar y aprender desde cero.
¿Qué aprenderán
en este curso?
Aprenderán los conceptos básicos de
Django, su instalación, los primeros pasos
para su uso, la funcionalidad de su ORM y de
su consola interactiva; además aprenderás a
configurar el administrador y crear vistas.
¿Qué necesitas para
llevar a cabo este curso?
■ Python 3.6+
■ HTML básico
¿Qué es Django?
Ahora, realizaremos nuestra primera
aproximación al framework Django.
Los temas que abordaremos son:
¿Qué es un Framework?
¿Qué es Django?
Características
¿Qué es un Framework?
Es un conjunto de herramientas y librerías
que nos ayudarán a desarrollar aplicaciones
de forma rápida y fácil.
Se encargan de automatizar
funcionalidades repetitivas para que
podamos concentrarnos en escribir código
y evitar pensar en reinventar la rueda.
¿Qué es Django?
Es un framework web que se enfoca en la
simplicidad y el desarrollo rápido de
aplicaciones.
■ Excesivamente escalable.
■ Increíblemente versátil.
SEGUNDO
MÓDULO
Primeros Pasos
Instalación
Ahora, explicaremos los primeros
pasos para la instalación.
Los temas que abordaremos son:
Instalación de Python
Visual Code
Entorno Virtual
Django
Nuevo proyecto
Instalación de Python
Para seguir este curso, necesitarás tener Python instalado
en tu computadora. En este caso lo usaremos a partir de la
versión 3.6.
python --version
https://www.python.org/downloads/
Visual Code
Visual Code es un editor de código que nos permitirá
editar y ejecutar nuestro proyecto de Django. Además de
proporcionarnos herramientas que nos facilitarán nuestro
desarrollo.
https://code.visualstudio.com/
Entorno Virtual
Un entorno virtual es un espacio en
nuestra computadora que contiene todos
los archivos necesarios para que funcione
un proyecto de Python. Nos permite
tener varios proyectos en la
computadora con sus propias
dependencias y nos asegurará que no
haya conflicto entre ellos.
Instalación de Django
Django viene preinstalado en algunas versiones de Python, pero es
posible que necesites actualizarlo o instalarlo por separado. Para
instalar Django, puedes usar el administrador de paquetes pip.
Este comando creará una nueva carpeta con el nombre indicado que
contendrá todos los archivos necesarios para nuestro proyecto. El
punto al final del comando indica que queremos que la nueva
carpeta se cree en el mismo directorio.
Estructura del proyecto
Ahora, analizaremos la estructura
de un proyecto básico.
Los temas que abordaremos son:
Archivos y carpetas
Archivos principales
■ manage.py es un script que nos permite interactuar con nuestro
proyecto desde la consola.
localhost:8000
Nuestra primera
aplicación
Ahora, explicaremos los
pasos para crear una app.
Los temas que abordaremos son:
Creación de una app
Archivos y carpetas
Creación de una app
Django se compone de una serie de aplicaciones, cada una de las
cuales tiene un propósito específico.
■ views.py contendrá todas las vistas en forma de función o clase que retornarán
un resultado a una petición del cliente.
TERCER
MÓDULO
El ORM de Django
¿Qué es un ORM?
Ahora, explicaremos los
principios de un ORM.
Los temas que abordaremos son:
¿Qué es y cómo funciona?
Primeras migraciones
¿Qué es y cómo funciona?
■ Un ORM es una capa de abstracción que nos permite mapear nuestro código a
una base de datos.
■ Una de las ventajas es que podemos cambiar de motor de base de datos sin
necesidad de cambiar el código de nuestro proyecto.
Primeras migraciones
Las migraciones son cambios que hacemos en nuestra base de datos
cuando creamos o modificamos un modelo. Django se encarga de
actualizar las tablas de nuestra base de datos en base a dichas migraciones,
las cuales nos permiten aplicar estos cambios de forma sencilla y segura.
You have 18 unapplied migration(s). Your Project may not work properly…
class Category(models.Model):
name = models.CharField(max_length=100)
class Meta:
verbose_name_plural = ‘Categories’
def __str__(self):
return self.name
Registrando nuestra app
OJO, recuerda que para que nuestra app sea detectada por nuestro proyecto y, de
esta forma, podamos migrar nuestros modelos, debes registrar tu aplicación en el
archivo settings.py
INSTALED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘shop’,
]
Migraciones
Recuerda que cuando crees un nuevo modelo o modifiques alguno
de ellos, debes plasmar dichos cambios en tu base de datos. Para
ello debes crear tus migraciones con:
Python 3.10.7 (tags/v3.10.7:6cc6b13, Sep 5 2022, 14:08:36) [MSC v.1933 64 bit (AMD64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
(InteractiveConsole)
>>> █
Leer y registrar datos
Recuerda que para crear un registro, debes importar previamente
tus modelos y utilizar el método save de la siguiente forma:
Category.objects.all()
Métodos
Ahora, explicaremos las
características de los modelos.
Los temas que abordaremos son:
__str__
Propiedades
Personalización
__str__
Por defecto al imprimir un modelo obtenemos el siguiente
resultado:
def __str__(self):
return self.name
Propiedades y funciones
El uso de propiedades o funciones en tus modelos permite reducir el
número de líneas de código al agrupar todas las acciones repetitivas.
@property
def precio_total(self):
return self.cantidad * self.precio
category.product_set.all()
De esta forma podremos obtener los productos de una categoría de la siguiente forma:
category.products.all()
Modificando más registros
Ahora, explicaremos los pasos para
modificar el tratamiento de registros.
Los temas que abordaremos son:
El método filter
Actualizando y eliminando registros
El método filter
Filter te permite obtener varios registros en base a una condición.
Podemos indicar los parámetros de la siguiente forma.
Producto.objects.filter(name__startswith = ‘A’)
https://docs.djangoproject.com/en/4.1/ref/models/querysets/#id4
Actualizando y eliminando registros
Para actualizar un registro basta con especificar el campo a reemplazar.
producto.delete()
QUINTO
MÓDULO
El administrador
de Django
Instalación y configuración
Ahora, explicaremos cómo acceder
y configurar el administrador.
Los temas que abordaremos son:
¿Qué es Administrador de Django?
Añadiendo módulos al Administrador
Creando un super usuario
Personalización
¿Qué es administrador de Django?
Es una herramienta muy útil y fácil de usar para
poder administrar los modelos de nuestro
proyecto.
admin.site.register(Category)
Creando un super usuario
Para ingresar al Administrador, necesitamos identificarnos con
un usuario, por lo que ejecutaremos el siguiente comando:
■ usuario
■ correo
■ contraseña
Personalización
Para brindar una mejor presentación a nuestro Administrador,
podemos modificar nuestro registro de la siguiente forma:
@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
list_display = ('name', 'price', 'category', 'is_active')
list_filter = ('category', 'is_active')
search_fields = ('name', 'description')
path('', include('shop.urls'))
Indicando el prefijo que hará uso las URL’s y la función include con
la ubicación de las URL’s en la app.
Templates
Ahora, explicaremos cómo organizar la
información de nuestras vistas con HTML.
Los temas que abordaremos son:
La función render
Jinja
¿Cómo evitar el Hard Coding?
La función render
Si deseamos diseñar nuestras propias plantillas para estructurar mejor
nuestra información, podemos retornar la función render en nuestras vistas:
Usar este método permite generar confianza con el usuario final. Por lo que es
importante cubrir cada caso que pueda generar confusión al cliente.
El error 404 es personalizable, por lo que podrás diseñar tu propia página 404.
SÉPTIMO
MÓDULO
Forms
Construyendo
un formulario
Ahora, explicaremos cómo
construir un formulario.
Los temas que abordaremos son:
¿Qué es un formulario?
Nuestro primer formulario
{% csrf_token %}
El método POST
¿Qué es un formulario ?
■ Son una manera común de interactuar con los usuarios, ya
sea para integrar datos o recopilar información.
<form method="post">
if request.method == 'POST':
name = request.POST.get('name')
Redirect y Reverse
La función redirect permite redirigir al usuario a una dirección url, mientras
que reverse permite construir una url en base a su nombre y parámetros.
https://developer.mozilla.org/es/docs/Learn/Server-side/Django/Introduction
https://www.w3schools.com/django/
https://github.com/django/django