Está en la página 1de 51

Motivación

Sobre el Curso
Python
Django
Conclusiones

Curso de Extensión: Introducción a Django


Clase 0

Dr. Cristian Martínez


DI-UNSa
cmartinez@di.unsa.edu.ar

UNSa UNJu UNPSJB UNDeC UNAP UPDS ISdelM

October 4, 2022

Cristian Martínez October 4, 2022 Clase 0: Python y Django 1 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Table of Contents

1. Motivación Matrices
Diccionarios
2. Sobre el Curso Funciones y Módulos
3. Python Introducción
Instalación Paso de parámetros
Introducción 4. Django
Sintaxis Introducción
Estructuras de control Instalando y Configurando
Estructuras de Datos Aplicación de Prueba
Listas 5. Conclusiones

Cristian Martínez October 4, 2022 Clase 0: Python y Django 2 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Table of Contents

1. Motivación Matrices
Diccionarios
2. Sobre el Curso Funciones y Módulos
3. Python Introducción
Instalación Paso de parámetros
Introducción 4. Django
Sintaxis Introducción
Estructuras de control Instalando y Configurando
Estructuras de Datos Aplicación de Prueba
Listas 5. Conclusiones

Cristian Martínez October 4, 2022 Clase 0: Python y Django 3 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Instalar y probar Django en el browser. Previamente, revisar Python.

Cristian Martínez October 4, 2022 Clase 0: Python y Django 4 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Table of Contents

1. Motivación Matrices
Diccionarios
2. Sobre el Curso Funciones y Módulos
3. Python Introducción
Instalación Paso de parámetros
Introducción 4. Django
Sintaxis Introducción
Estructuras de control Instalando y Configurando
Estructuras de Datos Aplicación de Prueba
Listas 5. Conclusiones

Cristian Martínez October 4, 2022 Clase 0: Python y Django 5 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

El Curso es de modalidad virtual, gratuito y con cupo limitado (se


fijaron requisitos para la inscripción formal). Son 6 clases, una por
semana de 2.5 horas.
Es llevado adelante de manera conjunta entre el Departamento de
Informática, Facultad de Ingeniería y Sede Orán de la UNSa, Facul-
tad de Ingeniería de la UNJU, Facultad de Ingeniería de la UNPSJB,
UNDeC, Escuela Profesional de Ingeniería de Sistemas de la UNAP
(Perú), Facultad de Ingeniería de la UPDS (Bolivia) e Instituto Su-
perior del Milagro (Salta).

Veremos lo más importante de Django!

Cristian Martínez October 4, 2022 Clase 0: Python y Django 6 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Evaluación y Certificación del Curso

Qué certificación se entrega?


• Para obtener certificado de asistencia, debe cumplirse un
mínimo de 70% (sobre el total)
• Para obtener constancia de aprobación, es necesario aprobar
un trabajo integrador. Se evaluará de manera diferencial, a
Estudiantes y Graduados.

Cristian Martínez October 4, 2022 Clase 0: Python y Django 7 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Table of Contents

1. Motivación Matrices
Diccionarios
2. Sobre el Curso Funciones y Módulos
3. Python Introducción
Instalación Paso de parámetros
Introducción 4. Django
Sintaxis Introducción
Estructuras de control Instalando y Configurando
Estructuras de Datos Aplicación de Prueba
Listas 5. Conclusiones

Cristian Martínez October 4, 2022 Clase 0: Python y Django 8 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Instalación

sudo apt-get install python3.8


sudo apt install python3-pip
En Windows?
https://www.digitalocean.com/community/tutorials/
install-python-windows-10
https://www.geeksforgeeks.org/
how-to-install-pip-on-windows/

Cristian Martínez October 4, 2022 Clase 0: Python y Django 9 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Qué es?

• Lenguaje de propósito general


• Lenguaje interpretado
• Multiplataforma
• Versión Python 2.x - 3.x

Cristian Martínez October 4, 2022 Clase 0: Python y Django 10 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Top de Lenguajes de Programación 2022

1 Javascript
2 Java
3 Python
4 C#
5 C

https://www.thecoderworld.com/programming/most-demanding-pro

Cristian Martínez October 4, 2022 Clase 0: Python y Django 11 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Sintaxis en Python

• Distingue mayúsculas y minúsculas


• Los bloques (if, while, etc) son distinguidos por indentación.
• Asignación de variables variable = valor
• Comparación de variables var1 == var2
• Declaración de variables?

Cristian Martínez October 4, 2022 Clase 0: Python y Django 12 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Declaración de variables

• El tipo de datos asignado a las variables se define en tiempo


de ejecución. ???
• Tipos de datos
• Enteros, flotantes, complejos
• Texto
• Lógicos

Cristian Martínez October 4, 2022 Clase 0: Python y Django 13 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Tipos de Datos
Enteros

int es el tipo de dato para manejar enteros


• Operaciones
• suma
• resta
• multiplicación
• división
• resto
• potencia ∗∗

Cristian Martínez October 4, 2022 Clase 0: Python y Django 14 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Tipos de Datos
Reales

float es el tipo de dato para manejar números reales


• Operaciones
• suma
• resta
• multiplicación
• división
• potencia ∗∗

Cristian Martínez October 4, 2022 Clase 0: Python y Django 15 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Tipos de Datos
Lógicos

bool es el tipo de dato para manejar variables lógicas. Los valores


posibles son True y False
• Operadores lógicos:
• and
• or
• not

Cristian Martínez October 4, 2022 Clase 0: Python y Django 16 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Tipos de Datos
Cadenas

str es el tipo de dato para manejar cadenas (string).


Se delimitan con comilla simple o doble.
• Operaciones:
• longitud len()
• contiene in
• concatenación +
• índice cadena[indice]
• búsqueda find()
• minúsculas lower()

Más info en https:


//www.programiz.com/python-programming/methods/string

Cristian Martínez October 4, 2022 Clase 0: Python y Django 17 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Estructuras de Control
Bloque de decisión: if

La sentencia if/else funciona evaluando la condición indicada. Si el


resultado es True se ejecutará la siguiente sentencia o sentencias; en
caso False se ejecutarán las sentencias que aparecen luego de else.
if (condicion):
# sentenciasT
else:
# sentenciasF
Puede usar elif para anidar bloques de decisión.

Cristian Martínez October 4, 2022 Clase 0: Python y Django 18 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Estructuras de Control
Bucles for y while

Para iterar disponemos de for y while.


La primera estructura se aplica para ejecutar un bloque de
sentencias una cantidad prefijada de veces. Puede ser un rango
numérico, o bien iterando sobre elementos de una lista, tupla.

Cristian Martínez October 4, 2022 Clase 0: Python y Django 19 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Estructuras de Control
Bucle for

for x in range(1,10):
print str(x)
Imprime de 1 a 9
lista=[1,2,3,4,5,6,7,8,9,10]
for x in lista:
print str(x)
Imprime de 1 a . . . ?

Cristian Martínez October 4, 2022 Clase 0: Python y Django 20 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Estructuras de Control
Bucle while

La segunda estructura es while la cual ejecuta un bloque de


sentencias siempre y cuando se cumpla la condición lógica.
lista=[1,2,3,4,5,6,7,8,9,10]
i=0
while lista[i]<6:
print str(lista[i])
i=i+1
Qué imprime?

Cristian Martínez October 4, 2022 Clase 0: Python y Django 21 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Estructuras de Datos
Listas

Es una colección de elementos escalares/objetos ordenada por


posición.
Las siguientes declaraciones son válidas:
• lista=[]
• lista=[’hola’,’chau’,’...’,’;’]

Cristian Martínez October 4, 2022 Clase 0: Python y Django 22 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Listas
Operaciones

• Contiene: el operador in permite consultar si un elemento está


o no en la lista. Ejemplo: if ’python’ in lista: . . .
• Inserción (al final): para agregar un elemento al final,
disponemos del método append(). El elemento a agregar debe
ser pasado por parámetro. Ejemplo: lista.append(’python’)
• Inserción: este método permite insertar un elemento a la lista,
indicando la posición. Ejemplo: lista.insert(0, ’python’) inserta
’python’ en la primera posición.
• Borrar: la función del() permite borrar un elemento de la lista,
pasando como argumento su posición. Por ejemplo:
lista=[10,20,30,40,50]
del(lista[1])
Si luego imprimo la lista, no aparece el . . .
Continúa . . .
Cristian Martínez October 4, 2022 Clase 0: Python y Django 23 / 51
Motivación
Sobre el Curso
Python
Django
Conclusiones

Listas
Operaciones

• Cardinal: la función len() devuelve la cantidad de elementos de


una lista. La misma debe ser pasada como parámetro.
• Ordenación: el método sort() permite ordenar elementos de
menor a mayor. También se dispone de reverse(). Si bien
ordena elementos escalares, es posible incluir una keyword para
customizar el ordenamiento.

Operaciones como suma (+) y multiplicación (*) también son


aplicables a listas.

Cristian Martínez October 4, 2022 Clase 0: Python y Django 24 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Listas
Comprensión

La comprensión de listas es una construcción sintáctica de Python


que permite declarar una lista a través de la creación de otra.
listaA = [10,20,30,40,50]
listaB = [x for x in listaA if x>30]

Cristian Martínez October 4, 2022 Clase 0: Python y Django 25 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Matrices

Python no posee una estructura de datos específica (aunque existen


librerías adicionales que la incluyen) para manejar datos organizados
en forma matricial (bidimensional).
Sin embargo, se puede crear una lista de lista.

Cristian Martínez October 4, 2022 Clase 0: Python y Django 26 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Matrices
Operaciones

matriz = [[1,2,3], [4,5,6], [7,8,9]]

En este caso, el elemento (0,0) de la matriz sería matriz[0][0].


La fila 0 de la matriz sería matriz[0].

Cristian Martínez October 4, 2022 Clase 0: Python y Django 27 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Diccionarios

Es una colección de elementos los cuales son accedidos por una


clave unívoca.
A diferencia de las listas (y tuplas), los diccionarios no cuentan con
un orden específico. No obstante, es iterable y pueden almacenar
elementos de diferentes tipos.

Cristian Martínez October 4, 2022 Clase 0: Python y Django 28 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Diccionarios
Operaciones

Los diccionarios pueden inicializarse:


• diccionario={}, sin valores
• diccionario = {’a’:1, ’b’:2, ’c’:3}, con valores

Cristian Martínez October 4, 2022 Clase 0: Python y Django 29 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Diccionarios
Operaciones

• Para acceder a un elemento, debemos usar la clave respectiva.


Ejemplo print(diccionario[’a’]) muestra 1.
• Para actualizar un elemento, algo similar. Ejemplo:
diccionario[’a’]=11.
• Para añadir un elemento, debemos usar una nueva clave.
Ejemplo: diccionario[’d’]=4.
• Para eliminar un elemento, debemos usar la función del().
Ejemplo: del(diccionario[’d’]).

Cristian Martínez October 4, 2022 Clase 0: Python y Django 30 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Diccionarios
Operaciones

Los métodos para iterar sobre un diccionario son items(), values() y


keys().
El primero da acceso a claves y valores, el segundo devuelve valores
y el tercero, claves.

Cristian Martínez October 4, 2022 Clase 0: Python y Django 31 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Diccionarios
Operaciones

for k, v in diccionario.items():
print str(k) + print(v)
for k in diccionario.keys():
print str(k)

Cristian Martínez October 4, 2022 Clase 0: Python y Django 32 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Funciones y Módulos

En Programación Estructurada, las funciones son uno de los


elementos más importantes.
Una función es un conjunto de sentencias que puede ser invocada
varias veces durante la ejecución de un programa.

Cristian Martínez October 4, 2022 Clase 0: Python y Django 33 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Funciones y Módulos
Ventajas

• Minimización de código
• Aumento de legibilidad
• Reutilización de código
• Facilidad para el mantenimiento de código

Cristian Martínez October 4, 2022 Clase 0: Python y Django 34 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Funciones y Módulos

Internamente al definir una función, Python crea un nuevo objeto y


le asigna el nombre dado para la función. Una función puede ser
asignada a una variable o ser almacenada en una lista.
La palabra reservada def nos servirá para definir una función, a
continuación debemos emplear un nombre y opcionalmente, una
lista de argumentos.
def test():
print "hola mundo"

Cristian Martínez October 4, 2022 Clase 0: Python y Django 35 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Funciones y Módulos
Definición

Para invocar a una función, basta con usar su nombre seguido de


paréntesis (y parámetros actuales si corresponde).
def test():
print "hola mundo"
test()

En Python, todo módulo es una función. Puede o no devolver


resultados a quien lo invoca.

Cristian Martínez October 4, 2022 Clase 0: Python y Django 36 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Funciones y Módulos
Paso de parámetros

Las funciones pueden trabajar con parámetros y devolver resultados.


En Python, el paso de parámetros implica la asignación de un nombre a un objeto.
Esto significa que ocurre por valor o por referencia, si los argumentos son mutables o
no.
def test(a,b):
a=7
b=3
a=3
b=7
test(a,b)
print str(a) + " " + str(b)
def test2(lista):
lista[0]=0
lista=[50,40,30,20,10]
test2(lista)
print str(lista)

Cristian Martínez October 4, 2022 Clase 0: Python y Django 37 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Funciones y Módulos
Múltiples valores devueltos por una función

Una característica diferente que ofrece Python es la posibilidad de


devolver una tupla a quien lo invoca. En ciertos casos, esta
característica puede resultar práctica.
def test(a):
return a+5, a / 2
a=7
b, c = test(a)
print str(b) + print(c)

Cristian Martínez October 4, 2022 Clase 0: Python y Django 38 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Table of Contents

1. Motivación Matrices
Diccionarios
2. Sobre el Curso Funciones y Módulos
3. Python Introducción
Instalación Paso de parámetros
Introducción 4. Django
Sintaxis Introducción
Estructuras de control Instalando y Configurando
Estructuras de Datos Aplicación de Prueba
Listas 5. Conclusiones

Cristian Martínez October 4, 2022 Clase 0: Python y Django 39 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Qué es Django?

Es un framework de desarrollo web de alto nivel basado en Python.


Tal como lo indica en la documentación, Django es:
• Rápido. Significa que promueve el desarrollo de aplicaciones de
manera rápida.
• Seguro. Es sencillo configurar para brindar seguridad a las
aplicaciones desarrolladas.
• Escalable. Esto también es importante: es flexible y el
crecimiento de las aplicaciones no es un problema para este
framework.

Cristian Martínez October 4, 2022 Clase 0: Python y Django 40 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Requisitos para Django

Para trabajar con Django es necesario:


• Tener experiencia en Python
• Conocer POO
• Manejar MVC
• Tener experiencia en BD
• Conocer HTML/CSS (para el frontend)

Cristian Martínez October 4, 2022 Clase 0: Python y Django 41 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

De dónde lo descargo?

Si entramos al siguiente link, veremos que lo primero que tenemos


que hacer es un pip.

https://www.djangoproject.com/download/

Por lo tanto, primero debo tener Python (3.8 o superior) y tener


instalado pip antes de avanzar.

Cristian Martínez October 4, 2022 Clase 0: Python y Django 42 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Instalación de Django
Pasos previos

Los siguientes pasos se realizan en Linux:


• Actualizar el índice de paquetes: apt update
• Revisar la versión de Python instalada. Se recomienda 3.8
(mínimo y que sea estable):
cristian@Mint20AndroidDjango: python3 -V
Python 3.8.10
• Instalar el paquete venv (para crear entornos virtuales): apt
install python3-venv

Cristian Martínez October 4, 2022 Clase 0: Python y Django 43 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Instalación de Django
Creando el primer proyecto

• Creamos una carpeta para nuestros Proyectos:


mkdir cursoDjango22
cd cursoDjango22
• Creamos un entorno virtual: python3.8 -m venv my_env
• Activamos el entorno: source my_env/bin/activate
• Instalamos Django dentro del entorno: pip install django
• Creamos el primer proyecto: django-admin startproject
helloDjango .

Cristian Martínez October 4, 2022 Clase 0: Python y Django 44 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Entorno virtual y proyecto Django

Cristian Martínez October 4, 2022 Clase 0: Python y Django 45 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Chequeemos la instalación!

• Iniciamos servicios (debemos tener instalado lampp o similar):


sudo /opt/lampp/lampp start
• Corriendo el servidor de desarrollo (estando en
cursoDjango22): python manage.py runserver 127.0.0.1:8000
• En nuestro navegador tipeamos: 127.0.0.1:8000

Cristian Martínez October 4, 2022 Clase 0: Python y Django 46 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Cristian Martínez October 4, 2022 Clase 0: Python y Django 47 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

y Windows?

Los pasos (similares) para instalar y probar la instalación de Django


en Windows, están en el siguiente link:

https://www.stanleyulili.com/django/how-to-install-django-o

Cristian Martínez October 4, 2022 Clase 0: Python y Django 48 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

Table of Contents

1. Motivación Matrices
Diccionarios
2. Sobre el Curso Funciones y Módulos
3. Python Introducción
Instalación Paso de parámetros
Introducción 4. Django
Sintaxis Introducción
Estructuras de control Instalando y Configurando
Estructuras de Datos Aplicación de Prueba
Listas 5. Conclusiones

Cristian Martínez October 4, 2022 Clase 0: Python y Django 49 / 51


Motivación
Sobre el Curso
Python
Django
Conclusiones

La instalación de Django es sencilla. Pero hay que tener instalado:


• Python 3.8 o superior (estable)
• Lampp o similar
• Un editor de texto (opcional)

Se recomienda instalar Django en un entorno virtual.

Próxima clase, comenzaremos a setear una aplicación web de


Django y tipearemos un poco ;)

Cristian Martínez October 4, 2022 Clase 0: Python y Django 50 / 51


Seguimos la próxima clase!

También podría gustarte