Trabajo Práctico Final Desarrollo Web Python, Django, SQL. Full Stack Python - Comisión 24150, CaC.
- nota: Si la api no responde, se debe esperar alrededor de 50 segundos para que se reactive Render.
- front: repo - netlify
El proyecto contact_api
sigue una estructura estándar de Django, con los siguientes archivos y directorios principales:
- asgi.py: Punto de entrada para servidores ASGI compatibles.
- settings.py: Configuraciones del proyecto, incluyendo configuraciones de base de datos y aplicaciones instaladas.
- urls.py: Define las rutas de la aplicación y las vincula con las vistas correspondientes.
- wsgi.py: Punto de entrada para servidores WSGI compatibles.
- migrations/: Directorio que contiene las migraciones de la base de datos.
- admin.py: Configuraciones de administración del panel de Django.
- apps.py: Configuraciones de la aplicación.
- models.py: Definiciones de los modelos de datos utilizados en la aplicación.
- serializers.py: Serializadores para convertir modelos en JSON y viceversa.
- tests.py: Archivos de pruebas para la aplicación.
- views.py: Vistas que manejan las solicitudes HTTP y contienen la lógica de negocio.
- contacto.sqlite3: Base de datos SQLite utilizada por defecto en Django.
- manage.py: Utilizado para administrar el proyecto Django, ejecutar comandos de administración y realizar tareas como migraciones de base de datos.
-
Gestión de Contactos a través de una API REST: El backend permite realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) sobre los contactos almacenados en la base de datos. Las rutas correspondientes se definen en
urls.py
y se manejan mediante vistas genéricas enviews.py
. -
Autenticación de Usuarios: Se proporciona un endpoint para verificar las credenciales de los usuarios. La función
verify_user
enviews.py
maneja las solicitudes POST, verificando el nombre de usuario y la contraseña contra los datos almacenados en el modeloUserCredentials
. Si las credenciales son correctas, se devuelve una respuesta positiva. -
Implementación de CRUD para Datos de Contacto: Utilizando Django REST Framework, se han creado las vistas
ContactListCreate
yContactRetrieveUpdateDestroy
que permiten listar, crear, actualizar y eliminar contactos. Los serializadores enserializers.py
se encargan de convertir los datos del modelo a JSON y viceversa. -
Uso de Django ORM para la Interacción con la Base de Datos: Django ORM (Object-Relational Mapping) facilita la interacción con la base de datos SQLite. Los modelos definidos en
models.py
representan las tablas en la base de datos y las migraciones se utilizan para aplicar cambios en la estructura de la base de datos.
- Python: Lenguaje de programación utilizado para el desarrollo.
- Django: Framework web utilizado para construir la aplicación backend.
- SQLite: Sistema de gestión de base de datos relacional utilizado para el almacenamiento de datos.
- Angel Farina
- Diego Capdevila
- Jeremías Geminiani
- Arturo Villagran
Esta documentación técnica proporciona una visión general de la estructura del proyecto, las funcionalidades implementadas, las tecnologías utilizadas y los colaboradores involucrados en el desarrollo del backend de WebTechSoluciones.