diff --git a/README.md b/README.md
index edeb67f..0fb6d6c 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,172 @@
# Curso de python
+## [Manuel Vergara](https://vergaracarmona.es) – 2023
+
+Este documento contiene los apuntes tomados en el curso «[Python total](https://www.udemy.com/course/python-total)» impartido por «Escuela Directa» en enero y febrero de 2023. El curso udemy consta de 30 horas aproximadamente de vídeo-tutoriales. Las prácticas aquí contenidas tuvieron una duración de alrededor de unas 150 horas.
+
+Los apuntes no fueron pensados para compartirlos, por ello pueden tener lagunas de información o contenido adicional respecto al curso, ya que se redactaron para recordar procedimientos y conceptos que el autor creyó relevantes. Teniendo un documento, a mi parecer, tan completo y entendiendo que el conocimiento debe ser libre se decidió compartirlo.
+
+Si te parece útil este documento puedes agradecerlo a través de las vías de contacto de la web https://vergaracarmona.es
+
+Recuerda,
+>*"Quien se corta su propia leña se calienta dos veces"*
+
+---
+
+
+## Licencia
+
+![](https://creativecommons.org/wp-content/themes/cc/images/cc.logo.white.svg)
+
+Esta obra está bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional. Para ver una copia de esta licencia, visite https://creativecommons.org/licenses/by-sa/4.0/legalcode.es.
+
+Usted es libre de:
+- Compartir — copiar y redistribuir el material en cualquier medio o formato
+- Adaptar — remezclar, transformar y crear a partir del material para cualquier finalidad, incluso comercial.
+
+Bajo las condiciones siguientes:
+- Reconocimiento — Debe reconocer adecuadamente la autoría, proporcionar un enlace a la licencia e indicar si se han realizado cambios. Puede hacerlo de cualquier manera razonable, pero no de una manera que sugiera que tiene el apoyo del licenciador o lo recibe por el uso que hace.
+- Compartir Igual — Si remezcla, transforma o crea a partir del material, deberá difundir sus contribuciones bajo la misma licencia que el original.
+
+![](https://mirrors.creativecommons.org/presskit/buttons/88x31/png/by-sa.png)
+
+- No hay restricciones adicionales — No puede aplicar términos legales o medidas tecnológicas que legalmente restrinjan realizar aquello que la licencia permite.
+
+Esta licencia está aceptada para Obras Culturales Libres.
+El licenciador no puede revocar estas libertades mientras cumpla con los términos de la licencia.
+
+---
+
+
+## Índice de las materias de los días
+
+- [Día 1 - Programa un creador de nombres](dia_01/README.md)
+ - 1.1. - print
+ - 1.2. - strings
+ - 1.3. - input
+ - 1.4. - Proyecto del Día 1
+- [Día 2 - Programa un calculador de comisiones](dia_02/README.md)
+ - 2.1. - Tipos de datos
+ - 2.2. - Variables
+ - 2.3. - Nombres de variables
+ - 2.4. - integers & floats
+ - 2.5. - Conversiones
+ - 2.6. - Formatear cadenas
+ - 2.7. - Operadores matemáticos
+ - 2.8. - Redondeo
+ - 2.9. - Proyecto del Día 2
+- [Día 3 - Programa un analizador de texto](dia_03/README.md)
+ - 3.1. - Index( )
+ - 3.2. - Substrings
+ - 3.3. - Métodos para Strings
+ - 3.4. - Strings: propiedades
+ - 3.5. - Listas
+ - 3.6. - Diccionarios
+ - 3.7. - Tuples
+ - 3.8. - sets
+ - 3.9. - booleanos
+ - 3.10. - Proyecto del Día 3
+- [Día 4 - Programa el juego "adivina el número"](dia_04/README.md)
+ - 4.1. - Operadores de comparación
+ - 4.2. - Operadores lógicos
+ - 4.3. - Control de flujo
+ - 4.4. - loops while
+ - 4.5. - range( )
+ - 4.6. - enumerate( )
+ - 4.7. - zip( )
+ - 4.8. - min( ) & max( )
+ - 4.9. - random
+ - 4.10. - Comprensión de listas
+ - 4.11. - match
+ - 4.12. - Proyecto del Día 4
+- [Día 5 - Programa el juego "El ahorcado"](dia_05/README.md)
+ - 5.1. - Documentación
+ - 5.2. - Funciones
+ - 5.3. - return
+ - 5.4. - Funciones dinámicas
+ - 5.5. - Interacción entre funciones
+ - 5.6. - *args
+ - 5.7. - **kwargs
+ - 5.8. - Ejercicios
+ - 5.9. - Proyecto del Día 5
+- [Día 6 - Programa un recetario](dia_06/README.md)
+ - 6.1. - Abrir y leer archivos
+ - 6.2. - Crear y escribir archivos
+ - 6.3. - Directorios
+ - 6.4. - pathlib
+ - 6.5. - Path
+ - 6.6. - Limpiar la consola
+ - 6.7. - Archivos + funciones
+ - 6.8. - Proyecto del Día 6
+- [Día 7 - Programa una cuenta bancaria](dia_07/README.md)
+ - 7.1. - Clases
+ - 7.2. - Atributos
+ - 7.3. - Métodos
+ - 7.4. - Tipos de métodos
+ - 7.5. - Herencia
+ - 7.6. - Herencia extendida
+ - 7.7. - Polimorfismo
+ - 7.8. - Pilares de la Programación Orientada a Objetos
+ - 7.9. - Métodos especiales
+ - 7.10. - Proyecto del Día 7
+- [Día 8 - Programa una consola de turnos](dia_08/README.md)
+ - 8.1. - Instalar paquetes
+ - 8.2. - Módulos y paquetes
+ - 8.3. - Manejo de errores
+ - 8.4. - pylint
+ - 8.5. - unittest
+ - 8.6. - Decoradores
+ - 8.7. - Generadores
+ - 8.8. - Proyecto del Día 8
+- [Día 9 - Programa un buscador de números de serie](dia_09/README.md)
+ - 9.1. - Módulo collections
+ - 9.2. - Módulos shutil & os
+ - 9.3. - Módulo datetime
+ - 9.4. - Módulo para medir el tiempo
+ - 9.5. - Módulo math
+ - 9.6. - Expresiones regulares
+ - 9.7. - Comprimir y descomprimir archivos
+ - 9.8. - Proyecto del Día 9
+- [Día 10 - Programa el juego "Invasión espacial"](dia_10/README.md)
+ - 10.1. - Distancia entre dos puntos
+ - 10.2. - Convertir el Juego en un Archivo Ejecutable (.exe)
+- [Día 11 - Programa un extracto de datos web](dia_11/README.md)
+ - 11.1. - Extraer elementos de una clase
+- [Día 12 - Programa un gestor de restaurantes](dia_12/README.md)
+- [Día 13 - Programa un asistente de voz](dia_13/README.md)
+ - 13.1. - Librerias y módulos
+ - 13.2. - Algunos problemas con las bibliotecas
+ - 13.3. - Enlaces
+- [Día 14 - Programa un controlador de asistencia](dia_14/README.md)
+ - 14.1. - Bibliotecas
+- [Día 15 - Programa un modelo de machine learning](dia_15/README.md)
+ - 5.1. - Bibliotecas
+ - 5.2. - Definiciones
+ - 5.3. - Cuadernos de trabajo en Colab de google drive
+- [Día 16 - Programa una aplicación web de tareas pendientes](dia_16/README.md)
+ - 16.1. - Entornos Virtuales
+ - 16.2. - Módulos
+ - 16.3. - Preparación de estructura de trabajo
+ - 16.4. - Configurar url
+ - 16.5. - Crear tabla de tareas
+ - 16.6. - Configurar la vista
+ - 16.7. - Configurar la vista de Detalle
+ - 16.8. - Crear Links a Detalle
+ - 16.9. - Agregar nueva tarea
+ - 16.10. - Formulario para nueva tarea
+ - 16.11. - Editar tarea
+ - 16.12. - Eliminar tarea
+ - 16.13. - Crear la lógica de Logueo / Deslogueo
+ - 16.14. - Formulario de Logueo / Deslogueo
+ - 16.15. - Restringir acceso
+ - 16.16. - Información específica de usuario
+ - 16.17. - Registrar nuevo usuario
+ - 16.18. - Barra de búsquedas
+ - 16.19. - Un estilo para todas las vistas
+ - 16.20. - Estilo general
+ - 16.21. - Estilo de barra superiores
+ - 16.22. - estilo de la lista
+ - 16.23. - Estilo de la barra de cerca
+ - 16.24. - Terminar el sitio
+- [Día 17 - Extra bibliotecas para hacking ético](dia_17/README.md)
+ - 17.1. - Bibliotecas
diff --git a/dia_01/README.md b/dia_01/README.md
new file mode 100644
index 0000000..f929ca6
--- /dev/null
+++ b/dia_01/README.md
@@ -0,0 +1,103 @@
+# Día 1 - Programa un creador de nombres
+
+## Índice
+
+- [Día 1 - Programa un creador de nombres](#día-1---programa-un-creador-de-nombres)
+ - [Índice](#índice)
+ - [1.1. - print](#11---print)
+ - [1.1.1. - Mostrar texto](#111---mostrar-texto)
+ - [1.1.2. - Mostrar números](#112---mostrar-números)
+ - [1.2. - strings](#12---strings)
+ - [1.2.1. - Concatenación](#121---concatenación)
+ - [1.2.2. - Caracteres especiales](#122---caracteres-especiales)
+ - [1.3. - input](#13---input)
+ - [1.4. - Proyecto del Día 1](#14---proyecto-del-día-1)
+ - [Ficheros y documentación del día 1](#ficheros-y-documentación-del-día-1)
+
+## 1.1. - print
+print - Declaración que al ejecutarse muestra (o imprime) en pantalla el argumento que se introduce dentro de los paréntesis.
+
+### 1.1.1. - Mostrar texto
+
+Ingresamos entre comillas simples o dobles los caracteres de texto que deben mostrarse en pantalla.
+
+```python
+print("Hola mundo")
+```
+
+Output
+
+ Hola mundo
+
+### 1.1.2. - Mostrar números
+
+Podemos entregarle a print() el número que debe mostrar, o una operación matemática a resolver. No empleamos comillas en estos casos.
+
+```python
+print(150 + 50)
+```
+
+output
+
+ 200
+
+## 1.2. - strings
+
+Los strings en Python son un tipo de dato formado por cadenas (o secuencias) de caracteres de cualquier tipo, formando un texto.
+
+### 1.2.1. - Concatenación
+
+Unificación de cadenas de texto:
+```python
+print("Hola" + " " + "mundo")
+```
+output
+
+ Hola mundo
+
+### 1.2.2. - Caracteres especiales
+
+Indicamos a la consola que el caracter a continuación del símbolo \ debe ser tratado como un caracter especial.
+
+- `\"` --> Imprime comillas
+- `\n` --> Separa texto en una nueva linea
+- `\t` --> Imprime un tabulador
+- `\\` --> Imprime la barra invertida textualmente
+
+## 1.3. - input
+
+Función que permite al usuario introducir información por medio del teclado al ejecutarse, otorgándole una instrucción acerca del ingreso solicitado. El código continuará ejecutándose luego de que el usuario realice la acción.
+
+```python
+input("Dime tu nombre: ")
+```
+output
+
+ Dime tu nombre: |
+
+```python
+print("Tu nombre es " + input("Dime tu nombre: "))
+```
+
+output
+
+ Dime tu nombre: Federico
+ Tu nombre es Federico
+
+## 1.4. - Proyecto del Día 1
+Imagina esta situación: tu mejor amigo ha puesto una fábrica de cerveza y tiene todo listo. Su producto es fantástico, tiene cuerpo, buen sabor, buen color, el nivel justo de espuma… pero le falta una identidad. No se le ocurre qué nombre ponerle su cerveza para que tenga una identidad única y original. Entonces vienes tú y le dices "No te preocupes, yo voy a crear un programa que te va a hacer dos preguntas y luego te va a decir cuál es el nombre de tu cerveza". Así de simple.
+
+Ya sé que en el mundo real no necesitaríamos desarrollar un software solo para hacer dos preguntas, pero hasta que aprendamos más funcionalidades los programas van a tener que mantenerse en el terreno de lo simple. Igualmente, si está recién comenzando, este va a ser todo un desafío.
+
+Vas a crear un código en Python que le pida a tu amigo que responda dos preguntas que requieran una sola palabra cada una y que luego le muestre en pantalla esas palabras combinadas, para formar una marca creativa.
+
+Puedes usar las preguntas que quieras. La idea es que el resultado sea original, creativo, y hasta cómico, y si quieres agregar dificultad al desafío, te sugiero que intentes que el nombre de la cerveza se imprima entre comillas. Recuerda que hay diferentes formas de que la función print muestre las comillas sin cortar el string, y que ingrese la impresión final en al menos dos líneas utilizando saltos de línea dentro del código.
+
+Intenta hacerlo por tu cuenta y si se complica, no te preocupes, en la próxima elección lo vamos a resolver juntos.
+
+## Ficheros y documentación del día 1
+- [main.py](main.py)
+- [primer_programa.py](primer_programa.py)
+- [programa01.py](programa01.py)
+
+[Documentación curso](../doc_curso/01_creador_de_nombres/)
diff --git a/dia_02/README.md b/dia_02/README.md
new file mode 100644
index 0000000..8967c5d
--- /dev/null
+++ b/dia_02/README.md
@@ -0,0 +1,45 @@
+
+# Día 2 - Programa un calculador de comisiones
+
+## Índice
+- [Día 2 - Programa un calculador de comisiones](#día-2---programa-un-calculador-de-comisiones)
+ - [Índice](#índice)
+ - [2.1. - Tipos de datos](#21---tipos-de-datos)
+ - [2.2. - Variables](#22---variables)
+ - [2.3. - Nombres de variables](#23---nombres-de-variables)
+ - [2.4. - integers \& floats](#24---integers--floats)
+ - [2.5. - Conversiones](#25---conversiones)
+ - [2.6. - Formatear cadenas](#26---formatear-cadenas)
+ - [2.7. - Operadores matemáticos](#27---operadores-matemáticos)
+ - [2.8. - Redondeo](#28---redondeo)
+ - [2.9. - Proyecto del Día 2](#29---proyecto-del-día-2)
+ - [Ficheros y documentación del día 2](#ficheros-y-documentación-del-día-2)
+
+## 2.1. - Tipos de datos
+
+## 2.2. - Variables
+
+## 2.3. - Nombres de variables
+
+## 2.4. - integers & floats
+
+## 2.5. - Conversiones
+
+## 2.6. - Formatear cadenas
+
+## 2.7. - Operadores matemáticos
+
+## 2.8. - Redondeo
+
+## 2.9. - Proyecto del Día 2
+
+## Ficheros y documentación del día 2
+- [01_variables.py](01_variables.py)
+- [02_intengers_floats.py](02_intengers_Floats.py)
+- [02_intengers_math.py](02_intengers_math.py)
+- [03_Conversiones.py](03_Conversiones.py)
+- [04_format.py](04_format.py)
+- [05_operadores.py](05_operadores.py)
+- [06_programa02.py](06_programa02.py)
+
+[Documentación curso](../doc_curso/02_calculador_comisiones/)
diff --git a/dia_03/README.md b/dia_03/README.md
new file mode 100644
index 0000000..8519df3
--- /dev/null
+++ b/dia_03/README.md
@@ -0,0 +1,52 @@
+# Día 3 - Programa un analizador de texto
+
+## Índice
+- [Día 3 - Programa un analizador de texto](#día-3---programa-un-analizador-de-texto)
+ - [Índice](#índice)
+ - [3.1. - Index( )](#31---index-)
+ - [3.2. - Substrings](#32---substrings)
+ - [3.3. - Métodos para Strings](#33---métodos-para-strings)
+ - [3.4. - Strings: propiedades](#34---strings-propiedades)
+ - [3.5. - Listas](#35---listas)
+ - [3.6. - Diccionarios](#36---diccionarios)
+ - [3.7. - Tuples](#37---tuples)
+ - [3.8. - sets](#38---sets)
+ - [3.9. - booleanos](#39---booleanos)
+ - [3.10. - Proyecto del Día 3](#310---proyecto-del-día-3)
+ - [Ficheros y documentación del día 3](#ficheros-y-documentación-del-día-3)
+
+## 3.1. - Index( )
+
+## 3.2. - Substrings
+
+## 3.3. - Métodos para Strings
+
+## 3.4. - Strings: propiedades
+
+## 3.5. - Listas
+
+## 3.6. - Diccionarios
+
+## 3.7. - Tuples
+
+## 3.8. - sets
+
+## 3.9. - booleanos
+
+## 3.10. - Proyecto del Día 3
+
+## Ficheros y documentación del día 3
+- [01_index.py](01_index.py)
+- [02_sub_strings.py](02_sub_strings.py)
+- [03_metodos.py](03_metodos.py)
+- [04_string.py](04_string.py)
+- [05_propiedades.py](05_propiedades.py)
+- [06_listas.py](06_listas.py)
+- [07_diccionarios.py](07_diccionarios.py)
+- [08_tuplas.py](08_tuplas.py)
+- [09_set.py](09_set.py)
+- [10_booleanos.py](10_booleanos.py)
+- [11_programa03.py](11_programa03.py)
+- [__pycache__](__pycache__)
+
+[Documentación curso](../doc_curso/03_analizador_de_texto/)
diff --git a/dia_04/README.md b/dia_04/README.md
new file mode 100644
index 0000000..99776af
--- /dev/null
+++ b/dia_04/README.md
@@ -0,0 +1,59 @@
+# Día 4 - Programa el juego "adivina el número"
+
+## Índice
+
+- [Día 4 - Programa el juego "adivina el número"](dia_04/README.md)
+ - [4.1. - Operadores de comparación](dia_04/01_operadores_de_comparacion.md)
+ - [4.2. - Operadores lógicos](dia_04/02_operadores_logicos.md)
+ - [4.3. - Control de flujo](dia_04/03_control_de_flujo.md)
+ - [4.4. - loops while](dia_04/04_loops_while.md)
+ - [4.5. - range( )](dia_04/05_range.md)
+ - [4.6. - enumerate( )](dia_04/06_enumerate.md)
+ - [4.7. - zip( )](dia_04/07_zip.md)
+ - [4.8. - min( ) & max( )](dia_04/08_min_max.md)
+ - [4.9. - random](dia_04/09_random.md)
+ - [4.10. - Comprensión de listas](dia_04/10_comprension_de_listas.md)
+ - [4.11. - match](dia_04/11_match.md)
+ - [4.12. - Proyecto del Día 4](dia_04/12_proyecto.md)
+
+## 4.1. - Operadores de comparación
+
+## 4.2. - Operadores lógicos
+
+## 4.3. - Control de flujo
+
+## 4.4. - loops while
+
+## 4.5. - range( )
+
+## 4.6. - enumerate( )
+
+## 4.7. - zip( )
+
+## 4.8. - min( ) & max( )
+
+## 4.9. - random
+
+## 4.10. - Comprensión de listas
+
+## 4.11. - match
+
+## 4.12. - Proyecto del Día 4
+
+
+## Ficheros y documentación del día 4
+- [01_operadores_comparacion.py](01_operadores_comparacion.py)
+- [02_operadores_logicos.py](02_operadores_logicos.py)
+- [03_control_de_frujo.py](03_control_de_frujo.py)
+- [04_for.py](04_for.py)
+- [05_while.py](05_while.py)
+- [06_rango.py](06_rango.py)
+- [07_enumerador.py](07_enumerador.py)
+- [08_zip.py](08_zip.py)
+- [09_min_max.py](09_min_max.py)
+- [10_random.py](10_random.py)
+- [11_comprension_listas.py](11_comprension_listas.py)
+- [12_match.py](12_match.py)
+- [13_programa04.py](13_programa04.py)
+
+[Documentación curso](../doc_curso/04_adivinar_numero/)
diff --git a/dia_05/README.md b/dia_05/README.md
new file mode 100644
index 0000000..4097c64
--- /dev/null
+++ b/dia_05/README.md
@@ -0,0 +1,46 @@
+# Día 5 - Programa el juego "El ahorcado"
+
+- [Día 5 - Programa el juego "El ahorcado"](#día-5---programa-el-juego-el-ahorcado)
+ - [5.1. - Documentación](#51---documentación)
+ - [5.2. - Funciones](#52---funciones)
+ - [5.3. - return](#53---return)
+ - [5.4. - Funciones dinámicas](#54---funciones-dinámicas)
+ - [5.5. - Interacción entre funciones](#55---interacción-entre-funciones)
+ - [5.6. - \*args](#56---args)
+ - [5.7. - \*\*kwargs](#57---kwargs)
+ - [5.8. - Ejercicios](#58---ejercicios)
+ - [5.9. - Proyecto del Día 5](#59---proyecto-del-día-5)
+ - [Ficheros y documentación del día 5](#ficheros-y-documentación-del-día-5)
+
+## 5.1. - Documentación
+
+## 5.2. - Funciones
+
+## 5.3. - return
+
+## 5.4. - Funciones dinámicas
+
+## 5.5. - Interacción entre funciones
+
+## 5.6. - *args
+
+## 5.7. - **kwargs
+
+## 5.8. - Ejercicios
+
+## 5.9. - Proyecto del Día 5
+
+## Ficheros y documentación del día 5
+- [01_metodos_ayuda_docs.py](01_metodos_ayuda_docs.py)
+- [02_funciones.py](02_funciones.py)
+- [03_funciones_dinamicas.py](03_funciones_dinamicas.py)
+- [04_ejemplo_funcion.py](04_ejemplo_funcion.py)
+- [05_palito_mas_corto.py](05_palito_mas_corto.py)
+- [06_lanzar_dados.py](06_lanzar_dados.py)
+- [07_limpiar_lista_promedio.py](07_limpiar_lista_promedio.py)
+- [08_lanzar_moneda.py](08_lanzar_moneda.py)
+- [09_args_indeterminados.py](09_args_indeterminados.py)
+- [10_problemas_practicos.py](10_problemas_practicos.py)
+- [11_programa05.py](11_programa05.py)
+
+[Documentación curso](../doc_curso/05_ahorcado/)
diff --git a/dia_06/README.md b/dia_06/README.md
new file mode 100644
index 0000000..1419303
--- /dev/null
+++ b/dia_06/README.md
@@ -0,0 +1,45 @@
+# Día 6 - Programa un recetario
+
+## Índice
+- [Día 6 - Programa un recetario](#día-6---programa-un-recetario)
+ - [Índice](#índice)
+ - [6.1. - Abrir y leer archivos](#61---abrir-y-leer-archivos)
+ - [6.2. - Crear y escribir archivos](#62---crear-y-escribir-archivos)
+ - [6.3. - Directorios](#63---directorios)
+ - [6.4. - pathlib](#64---pathlib)
+ - [6.5. - Path](#65---path)
+ - [6.6. - Limpiar la consola](#66---limpiar-la-consola)
+ - [6.7. - Archivos + funciones](#67---archivos--funciones)
+ - [6.8. - Proyecto del Día 6](#68---proyecto-del-día-6)
+ - [Ficheros y documentación del día 6](#ficheros-y-documentación-del-día-6)
+
+## 6.1. - Abrir y leer archivos
+
+## 6.2. - Crear y escribir archivos
+
+## 6.3. - Directorios
+
+## 6.4. - pathlib
+
+## 6.5. - Path
+
+## 6.6. - Limpiar la consola
+
+## 6.7. - Archivos + funciones
+
+## 6.8. - Proyecto del Día 6
+
+## Ficheros y documentación del día 6
+- [01_abrir_manipular_archivos.py](01_abrir_manipular_archivos.py)
+- [02_crear_escribir_archivos.py](02_crear_escribir_archivos.py)
+- [03_directorios.py](03_directorios.py)
+- [04_pathlib.py](04_pathlib.py)
+- [05_path.py](05_path.py)
+- [06_limpiar_consola.py](06_limpiar_consola.py)
+- [07_programa06.py](07_programa06.py)
+- [Europa](Europa/)
+- [prueba.txt](prueba.txt)
+- [Recetas](Recetas/)
+- [Recetas.zip](Recetas.zip)
+
+Documentación curso: [06_recetario](../doc_curso/06_recetario/)
diff --git a/dia_07/README.md b/dia_07/README.md
new file mode 100644
index 0000000..53fcb7e
--- /dev/null
+++ b/dia_07/README.md
@@ -0,0 +1,50 @@
+# Día 7 - Programa una cuenta bancaria
+
+## Índice
+- [Día 7 - Programa una cuenta bancaria](#día-7---programa-una-cuenta-bancaria)
+ - [Índice](#índice)
+ - [7.1. - Clases](#71---clases)
+ - [7.2. - Atributos](#72---atributos)
+ - [7.3. - Métodos](#73---métodos)
+ - [7.4. - Tipos de métodos](#74---tipos-de-métodos)
+ - [7.5. - Herencia](#75---herencia)
+ - [7.6. - Herencia extendida](#76---herencia-extendida)
+ - [7.7. - Polimorfismo](#77---polimorfismo)
+ - [7.8. - Pilares de la Programación Orientada a Objetos](#78---pilares-de-la-programación-orientada-a-objetos)
+ - [7.9. - Métodos especiales](#79---métodos-especiales)
+ - [7.10. - Proyecto del Día 7](#710---proyecto-del-día-7)
+ - [Ficheros y documentación](#ficheros-y-documentación)
+
+## 7.1. - Clases
+
+## 7.2. - Atributos
+
+## 7.3. - Métodos
+
+## 7.4. - Tipos de métodos
+
+## 7.5. - Herencia
+
+## 7.6. - Herencia extendida
+
+## 7.7. - Polimorfismo
+
+## 7.8. - Pilares de la Programación Orientada a Objetos
+
+## 7.9. - Métodos especiales
+
+## 7.10. - Proyecto del Día 7
+
+## Ficheros y documentación
+
+- [01_clases.py](01_clases.py)
+- [02_atributos.py](02_atributos.py)
+- [03_metodos.py](03_metodos.py)
+- [04_tipos_metodos.py](04_tipos_metodos.py)
+- [05_herencia.py](05_herencia.py)
+- [06_herencia_extendida.py](06_herencia_extendida.py)
+- [07_polimorfismo.py](07_polimorfismo.py)
+- [08_metodos_especiales.py](08_metodos_especiales.py)
+- [09_programa07.py](09_programa07.py)
+
+[Documentación del curso](../doc_curso/07_cuenta_bancaria/)
diff --git a/dia_08/README.md b/dia_08/README.md
new file mode 100644
index 0000000..5d313d8
--- /dev/null
+++ b/dia_08/README.md
@@ -0,0 +1,43 @@
+# Día 8 - Programa una consola de turnos
+
+## Índice
+- [Día 8 - Programa una consola de turnos](#día-8---programa-una-consola-de-turnos)
+ - [Índice](#índice)
+ - [8.1. - Instalar paquetes](#81---instalar-paquetes)
+ - [8.2. - Módulos y paquetes](#82---módulos-y-paquetes)
+ - [8.3. - Manejo de errores](#83---manejo-de-errores)
+ - [8.4. - pylint](#84---pylint)
+ - [8.5. - unittest](#85---unittest)
+ - [8.6. - Decoradores](#86---decoradores)
+ - [8.7. - Generadores](#87---generadores)
+ - [8.8. - Proyecto del Día 8](#88---proyecto-del-día-8)
+ - [Ficheros y documentación](#ficheros-y-documentación)
+
+## 8.1. - Instalar paquetes
+
+## 8.2. - Módulos y paquetes
+
+## 8.3. - Manejo de errores
+
+## 8.4. - pylint
+
+## 8.5. - unittest
+
+## 8.6. - Decoradores
+
+## 8.7. - Generadores
+
+## 8.8. - Proyecto del Día 8
+
+## Ficheros y documentación
+- [01_pruebas_modulos](01_pruebas_modulos/)
+- [02_pruebas_paquete](02_pruebas_paquete/)
+- [03_manejo_errores.py](03_manejo_errores.py)
+- [04_probando_pylint.py](04_probando_pylint.py)
+- [05_probando_pylint](05_probando_pylint/)
+- [06_probando_unittest](06_probando_unittest/)
+- [07_decoradores.py](07_decoradores.py)
+- [08_generadores.py](08_generadores.py)
+- [09_programa08](09_programa08/)
+
+[Documentación del curso](../doc_curso/08_consola_turnos/)
diff --git a/dia_09/README.md b/dia_09/README.md
new file mode 100644
index 0000000..e8775ff
--- /dev/null
+++ b/dia_09/README.md
@@ -0,0 +1,54 @@
+# Día 9 - Programa un buscador de números de serie
+
+## Índice
+- [Día 9 - Programa un buscador de números de serie](#día-9---programa-un-buscador-de-números-de-serie)
+ - [Índice](#índice)
+ - [9.1. - Módulo collections](#91---módulo-collections)
+ - [9.2. - Módulos shutil \& os](#92---módulos-shutil--os)
+ - [9.3. - Módulo datetime](#93---módulo-datetime)
+ - [9.4. - Módulo para medir el tiempo](#94---módulo-para-medir-el-tiempo)
+ - [9.5. - Módulo math](#95---módulo-math)
+ - [9.6. - Expresiones regulares](#96---expresiones-regulares)
+ - [9.7. - Comprimir y descomprimir archivos](#97---comprimir-y-descomprimir-archivos)
+ - [9.8. - Proyecto del Día 9](#98---proyecto-del-día-9)
+ - [Ficheros y documentación](#ficheros-y-documentación)
+
+## 9.1. - Módulo collections
+
+## 9.2. - Módulos shutil & os
+
+## 9.3. - Módulo datetime
+
+## 9.4. - Módulo para medir el tiempo
+
+## 9.5. - Módulo math
+
+## 9.6. - Expresiones regulares
+
+## 9.7. - Comprimir y descomprimir archivos
+
+## 9.8. - Proyecto del Día 9
+
+## Ficheros y documentación
+
+- [01_modulo_collections.py](01_modulo_collections.py)
+- [02_modulo_os_shutil.py](02_modulo_os_shutil.py)
+- [03_modulo_datetime_1.py](03_modulo_datetime_1.py)
+- [03_modulo_datetime_2.py](03_modulo_datetime_2.py)
+- [04_modulo_medir_tiempo.py](04_modulo_medir_tiempo.py)
+- [05_modulo_math.py](05_modulo_math.py)
+- [06_modulo_re.py](06_modulo_re.py)
+- [07_modulo_comprimir_shutil.py](07_modulo_comprimir_shutil.py)
+- [07_modulo_comprimir_zipfile.py](07_modulo_comprimir_zipfile.py)
+- [07_modulo_descomprimir_shutil.py](07_modulo_descomprimir_shutil.py)
+- [07_modulo_descomprimir_zipfile.py](07_modulo_descomprimir_zipfile.py)
+- [08_Descomprimir_proyecto.py](08_Descomprimir_proyecto.py)
+- [09_Programa09](09_Programa09.py)
+- [carpeta_superior](carpeta_superior)
+- [extraccion_terminada](extraccion_terminada)
+- [mi_texto_A.txt](mi_texto_A.txt)
+- [mi_texto_B.txt](mi_texto_B.txt)
+- [Proyecto+Dia+9.zip](Proyecto+Dia+9.zip)
+- [todo_comprimido.zip](todo_comprimido.zip)
+
+[Documentación curso](../doc_curso/09_buscador_numeros_serie/)
diff --git a/dia_10/README.md b/dia_10/README.md
new file mode 100644
index 0000000..4db6f58
--- /dev/null
+++ b/dia_10/README.md
@@ -0,0 +1,21 @@
+# Día 10 - Programa el juego "Invasión espacial
+
+## Índice
+- [Día 10 - Programa el juego "Invasión espacial](#día-10---programa-el-juego-invasión-espacial)
+ - [Índice](#índice)
+ - [10.1. - Distancia entre dos puntos](#101---distancia-entre-dos-puntos)
+ - [10.2. - Convertir el Juego en un Archivo Ejecutable (.exe)](#102---convertir-el-juego-en-un-archivo-ejecutable-exe)
+ - [Ficheros y documentación](#ficheros-y-documentación)
+
+## 10.1. - Distancia entre dos puntos
+
+## 10.2. - Convertir el Juego en un Archivo Ejecutable (.exe)
+
+## Ficheros y documentación
+
+- [fonts](fonts)
+- [img](img)
+- [main.py](main.py)
+- [sound](sound)
+
+[Documentación curso](../doc_curso/10_invasion_espacial/)
diff --git a/dia_11/README.md b/dia_11/README.md
new file mode 100644
index 0000000..e8a11d0
--- /dev/null
+++ b/dia_11/README.md
@@ -0,0 +1,17 @@
+# Día 11 - Programa un extracto de datos web
+
+## Índice
+- [Día 11 - Programa un extracto de datos web](#día-11---programa-un-extracto-de-datos-web)
+ - [Índice](#índice)
+ - [11.1. - Extraer elementos de una clase](#111---extraer-elementos-de-una-clase)
+ - [Ficheros y documentación](#ficheros-y-documentación)
+
+## 11.1. - Extraer elementos de una clase
+
+## Ficheros y documentación
+- [01_web_scraping_01.py](01_web_scraping_01.py)
+- [02_web_scraping_02.py](02_web_scraping_02.py)
+- [mi_imagen.jpg](mi_imagen.jpg)
+- [programa_web_scraping.py](programa_web_scraping.py)
+
+[Documentación del curso](../doc_curso/11_web_scraping/)
diff --git a/dia_12/README.md b/dia_12/README.md
new file mode 100644
index 0000000..152ac00
--- /dev/null
+++ b/dia_12/README.md
@@ -0,0 +1,13 @@
+# Día 12 - Programa un gestor de restaurantes
+
+## Índice
+[Día 12 - Programa un gestor de restaurantes](#día-12---programa-un-gestor-de-restaurantes)
+
+## Ficheros y documentación
+
+- [lista_precios.txt](lista_precios.txt)
+- [mi_restaurante.py](mi_restaurante.py)
+- [Primer_recibo.txt](Primer_recibo.txt)
+- [segundo_recibo.txt](segundo_recibo.txt)
+
+[Documentación del curso](../doc_curso/12_restaurante/)
diff --git a/dia_13/README.md b/dia_13/README.md
new file mode 100644
index 0000000..2f9308b
--- /dev/null
+++ b/dia_13/README.md
@@ -0,0 +1,20 @@
+# Día 13 - Programa un asistente de voz
+
+## Índice
+- [Día 13 - Programa un asistente de voz](#día-13---programa-un-asistente-de-voz)
+ - [Índice](#índice)
+ - [13.1. - Librerias y módulos](#131---librerias-y-módulos)
+ - [13.2. - Algunos problemas con las bibliotecas](#132---algunos-problemas-con-las-bibliotecas)
+ - [13.3. - Enlaces](#133---enlaces)
+ - [Ficheros y documentación](#ficheros-y-documentación)
+
+## 13.1. - Librerias y módulos
+
+## 13.2. - Algunos problemas con las bibliotecas
+
+## 13.3. - Enlaces
+
+## Ficheros y documentación
+- [asistente_virtual.py](asistente_virtual.py)
+
+[Documentación del curso](../doc_curso/13_asistente_voz/)
\ No newline at end of file
diff --git a/dia_14/README.md b/dia_14/README.md
new file mode 100644
index 0000000..0afd55b
--- /dev/null
+++ b/dia_14/README.md
@@ -0,0 +1,22 @@
+# Día 14 - Programa un controlador de asistencia
+
+## Índice
+- [Día 14 - Programa un controlador de asistencia](#día-14---programa-un-controlador-de-asistencia)
+ - [Índice](#índice)
+ - [14.1. - Bibliotecas](#141---bibliotecas)
+ - [Ficheros y documentación](#ficheros-y-documentación)
+
+## 14.1. - Bibliotecas
+
+## Ficheros y documentación
+
+- [asistencia.py](asistencia.py)
+- [Empleados](Empleados/)
+- [FotoA.jpg](FotoA.jpg)
+- [FotoB.jpg](FotoB.jpg)
+- [FotoC.jpg](FotoC.jpg)
+- [FotoD.jpg](FotoD.jpg)
+- [reconocimiento_facial.py](reconocimiento_facial.py)
+- [registro.csv](registro.csv)
+
+[Documentación del curso](../doc_curso/14_asistencia/)
diff --git a/dia_15/README.md b/dia_15/README.md
index 72c2be8..2156f00 100644
--- a/dia_15/README.md
+++ b/dia_15/README.md
@@ -1,19 +1,27 @@
-# Dia 15 - machine learning
+# Dia 15 - Programa un modelo de machine learning
-En esta unidad se ha trabajado a través de tres cuadernos de trabajo Colab de google drive:
-
-Cuaderno de prácticas con Numpy: https://colab.research.google.com/drive/1vp7zrchG_pJF3uzEgbCjfb_piu43mJXS?usp=sharing
-Cuaderno de prácticas con Panda: https://colab.research.google.com/drive/1-E33EMCehgPnmqgwm13-SZSnVYOHMpuQ?usp=sharing
-Cuaderno de prácticas con Machine Learning: https://colab.research.google.com/drive/1zRVPpLLmhMkmhX_kB9qrWUppHzRTJPFM?usp=sharing
+## Índice
+- [Dia 15 - Programa un modelo de machine learning](#dia-15---programa-un-modelo-de-machine-learning)
+ - [Índice](#índice)
+ - [5.1. - Bibliotecas](#51---bibliotecas)
+ - [5.2. - Definiciones](#52---definiciones)
+ - [5.3. - Cuadernos de trabajo en Colab de google drive](#53---cuadernos-de-trabajo-en-colab-de-google-drive)
+ - [Ficheros y documentación](#ficheros-y-documentación)
-La solución a los ejercicios son las siguientes.
+## 5.1. - Bibliotecas
-- [Cuaderno de prácticas con Numpy](cuaderno_numpy.py)
+## 5.2. - Definiciones
-- [Cuaderno de prácticas con Panda](cuaderno_panda.py)
-
-- [Cuaderno de prácticas con Machine Learning]()
+## 5.3. - Cuadernos de trabajo en Colab de google drive
+## Ficheros y documentación
+- [cuaderno_machine_learning.py](cuaderno_machine_learning.py)
+- [cuaderno_matplotlib.py](cuaderno_matplotlib.py)
+- [cuaderno_numpy.py](cuaderno_numpy.py)
+- [cuaderno_panda.py](cuaderno_panda.py)
+- [DataSet_Titanic.csv](DataSet_Titanic.csv)
+- [ventas-autos.csv](ventas-autos.csv)
+[Documentación del curso](../doc_curso/15_machine_learning/)
diff --git a/dia_16/README.md b/dia_16/README.md
new file mode 100644
index 0000000..5583975
--- /dev/null
+++ b/dia_16/README.md
@@ -0,0 +1,84 @@
+# Día 16 - Programa una aplicación web de tareas pendientes
+
+## Índice
+- [Día 16 - Programa una aplicación web de tareas pendientes](#día-16---programa-una-aplicación-web-de-tareas-pendientes)
+ - [Índice](#índice)
+ - [16.1. - Entornos Virtuales](#161---entornos-virtuales)
+ - [16.2. - Módulos](#162---módulos)
+ - [16.3. - Preparación de estructura de trabajo](#163---preparación-de-estructura-de-trabajo)
+ - [16.4. - Configurar url](#164---configurar-url)
+ - [16.5. - Crear tabla de tareas](#165---crear-tabla-de-tareas)
+ - [16.6. - Configurar la vista](#166---configurar-la-vista)
+ - [16.7. - Configurar la vista de Detalle](#167---configurar-la-vista-de-detalle)
+ - [16.8. - Crear Links a Detalle](#168---crear-links-a-detalle)
+ - [16.9. - Agregar nueva tarea](#169---agregar-nueva-tarea)
+ - [16.10. - Formulario para nueva tarea](#1610---formulario-para-nueva-tarea)
+ - [16.11. - Editar tarea](#1611---editar-tarea)
+ - [16.12. - Eliminar tarea](#1612---eliminar-tarea)
+ - [16.13. - Crear la lógica de Logueo / Deslogueo](#1613---crear-la-lógica-de-logueo--deslogueo)
+ - [16.14. - Formulario de Logueo / Deslogueo](#1614---formulario-de-logueo--deslogueo)
+ - [16.15. - Restringir acceso](#1615---restringir-acceso)
+ - [16.16. - Información específica de usuario](#1616---información-específica-de-usuario)
+ - [16.17. - Registrar nuevo usuario](#1617---registrar-nuevo-usuario)
+ - [16.18. - Barra de búsquedas](#1618---barra-de-búsquedas)
+ - [16.19. - Un estilo para todas las vistas](#1619---un-estilo-para-todas-las-vistas)
+ - [16.20. - Estilo general](#1620---estilo-general)
+ - [16.21. - Estilo de barra superiores](#1621---estilo-de-barra-superiores)
+ - [16.22. - estilo de la lista](#1622---estilo-de-la-lista)
+ - [16.23. - Estilo de la barra de cerca](#1623---estilo-de-la-barra-de-cerca)
+ - [16.24. - Terminar el sitio](#1624---terminar-el-sitio)
+ - [Ficheros y documentación](#ficheros-y-documentación)
+
+## 16.1. - Entornos Virtuales
+
+## 16.2. - Módulos
+
+## 16.3. - Preparación de estructura de trabajo
+
+## 16.4. - Configurar url
+
+## 16.5. - Crear tabla de tareas
+
+## 16.6. - Configurar la vista
+
+## 16.7. - Configurar la vista de Detalle
+
+## 16.8. - Crear Links a Detalle
+
+## 16.9. - Agregar nueva tarea
+
+## 16.10. - Formulario para nueva tarea
+
+## 16.11. - Editar tarea
+
+## 16.12. - Eliminar tarea
+
+## 16.13. - Crear la lógica de Logueo / Deslogueo
+
+## 16.14. - Formulario de Logueo / Deslogueo
+
+## 16.15. - Restringir acceso
+
+## 16.16. - Información específica de usuario
+
+## 16.17. - Registrar nuevo usuario
+
+## 16.18. - Barra de búsquedas
+
+## 16.19. - Un estilo para todas las vistas
+
+## 16.20. - Estilo general
+
+## 16.21. - Estilo de barra superiores
+
+## 16.22. - estilo de la lista
+
+## 16.23. - Estilo de la barra de cerca
+
+## 16.24. - Terminar el sitio
+
+## Ficheros y documentación
+- [mi_web](mi_web/)
+- [web_Python_Total](web_Python_Total/)
+
+[Documentación del curso](../doc_curso/16_aplicacion_web/)
diff --git a/dia_16/mi_web/src/proyecto/manage.py b/dia_16/mi_web/src/proyecto/manage.py
new file mode 100755
index 0000000..5cd4202
--- /dev/null
+++ b/dia_16/mi_web/src/proyecto/manage.py
@@ -0,0 +1,22 @@
+#!/usr/bin/env python
+"""Django's command-line utility for administrative tasks."""
+import os
+import sys
+
+
+def main():
+ """Run administrative tasks."""
+ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proyecto.settings')
+ try:
+ from django.core.management import execute_from_command_line
+ except ImportError as exc:
+ raise ImportError(
+ "Couldn't import Django. Are you sure it's installed and "
+ "available on your PYTHONPATH environment variable? Did you "
+ "forget to activate a virtual environment?"
+ ) from exc
+ execute_from_command_line(sys.argv)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/dia_16/mi_web/src/proyecto/proyecto/__init__.py b/dia_16/mi_web/src/proyecto/proyecto/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/dia_16/mi_web/src/proyecto/proyecto/asgi.py b/dia_16/mi_web/src/proyecto/proyecto/asgi.py
new file mode 100644
index 0000000..25d125c
--- /dev/null
+++ b/dia_16/mi_web/src/proyecto/proyecto/asgi.py
@@ -0,0 +1,16 @@
+"""
+ASGI config for proyecto project.
+
+It exposes the ASGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/
+"""
+
+import os
+
+from django.core.asgi import get_asgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proyecto.settings')
+
+application = get_asgi_application()
diff --git a/dia_16/mi_web/src/proyecto/proyecto/settings.py b/dia_16/mi_web/src/proyecto/proyecto/settings.py
new file mode 100644
index 0000000..03a7d65
--- /dev/null
+++ b/dia_16/mi_web/src/proyecto/proyecto/settings.py
@@ -0,0 +1,123 @@
+"""
+Django settings for proyecto project.
+
+Generated by 'django-admin startproject' using Django 4.2.1.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.2/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/4.2/ref/settings/
+"""
+
+from pathlib import Path
+
+# Build paths inside the project like this: BASE_DIR / 'subdir'.
+BASE_DIR = Path(__file__).resolve().parent.parent
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = 'django-insecure-mwsg_+h@r@!^_qelaxw8yxerofb2#$q)mmotw+fy6ns=_)ua0!'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+ALLOWED_HOSTS = []
+
+
+# Application definition
+
+INSTALLED_APPS = [
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+]
+
+MIDDLEWARE = [
+ 'django.middleware.security.SecurityMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.common.CommonMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+]
+
+ROOT_URLCONF = 'proyecto.urls'
+
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [],
+ 'APP_DIRS': True,
+ 'OPTIONS': {
+ 'context_processors': [
+ 'django.template.context_processors.debug',
+ 'django.template.context_processors.request',
+ 'django.contrib.auth.context_processors.auth',
+ 'django.contrib.messages.context_processors.messages',
+ ],
+ },
+ },
+]
+
+WSGI_APPLICATION = 'proyecto.wsgi.application'
+
+
+# Database
+# https://docs.djangoproject.com/en/4.2/ref/settings/#databases
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': BASE_DIR / 'db.sqlite3',
+ }
+}
+
+
+# Password validation
+# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+ {
+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
+ },
+]
+
+
+# Internationalization
+# https://docs.djangoproject.com/en/4.2/topics/i18n/
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'UTC'
+
+USE_I18N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/4.2/howto/static-files/
+
+STATIC_URL = 'static/'
+
+# Default primary key field type
+# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field
+
+DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
diff --git a/dia_16/mi_web/src/proyecto/proyecto/urls.py b/dia_16/mi_web/src/proyecto/proyecto/urls.py
new file mode 100644
index 0000000..f02c849
--- /dev/null
+++ b/dia_16/mi_web/src/proyecto/proyecto/urls.py
@@ -0,0 +1,22 @@
+"""
+URL configuration for proyecto project.
+
+The `urlpatterns` list routes URLs to views. For more information please see:
+ https://docs.djangoproject.com/en/4.2/topics/http/urls/
+Examples:
+Function views
+ 1. Add an import: from my_app import views
+ 2. Add a URL to urlpatterns: path('', views.home, name='home')
+Class-based views
+ 1. Add an import: from other_app.views import Home
+ 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
+Including another URLconf
+ 1. Import the include() function: from django.urls import include, path
+ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
+"""
+from django.contrib import admin
+from django.urls import path
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+]
diff --git a/dia_16/mi_web/src/proyecto/proyecto/wsgi.py b/dia_16/mi_web/src/proyecto/proyecto/wsgi.py
new file mode 100644
index 0000000..7135a6a
--- /dev/null
+++ b/dia_16/mi_web/src/proyecto/proyecto/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for proyecto project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proyecto.settings')
+
+application = get_wsgi_application()