Bienvenida
Todo lo que aprenderás sobre Django
Cimientos
Arquitectura de una aplicación
The Twelve-Factor App
Codebase: Settings modular
Codebase: Dependencias y archivos de docker
Codebase: Docker
Setups alternativos
Modelos
Herencia de modelos
Proxy models
App de usuarios
Organizando modelos en un paquete de Django
Creando el modelo de perfil de usuario
Solución del reto: arreglando la migración de users a user
Aplicación y modelo de círculos
Migraciones y admin de círculos
Introducción a Django REST Framework
Aprende cómo construir tu propio API con Django Rest Framework
Vistas, URLs y Parsers de DRF
Serializers
Buenas prácticas para el diseño de un API REST
Request, response, renderers y parsers
Real DRF
Autenticación y tipos de autenticación
APIView
Creando el token de autorización
User sign up
Limitar login a usuarios con cuenta verificada
Configurar envío de email
Instalar PyJWT y generar tokens
Verificar cuenta usando JWT
Actualizar modelo de circle (membership)
Crear CircleViewSet
Añadiendo autorización y paginación
Creación de circulos
Update de círculo, custom permissions y DRF Mixins
Migración de vistas de usuarios a ViewSets
Detalle de usuario
Update profile data
List members - Recursos anidado
Retrieve destroy member
Modelo de invitaciones y manager
Obtener invitaciones de un miembro
Unirse a grupo
Filtrado
App de rides y modelos
Implementar la publicación de un ride
Validación de campos de un serializer
Listado de rides
Editar un ride
Unirse a viaje
Terminar viaje
Calificar viaje
Tareas asíncronas
¿Qué es Celery?
Creando tarea asíncrona
Creando tarea periódica
Testing
Python unittest y Django TestCase
DRF APITestCase
Django Admin
Admin actions: Modificar datos de un query
Admin actions: Regresando una respuesta HTTP
Deployment
Instalación de la aplicación
Configuración del dominio en Mailgun y del Bucket en Amazon S3
Configuración final de Docker Container usando Supervisor
Tutorial de despliegue de la aplicación
Futuros pasos y cierre del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
En esta clase el profesor Pablo Trinidad nos explica cómo construir nuestra primera API en Django con Django Rest Framework
Django Rest Framework es una librería que cuenta con muchas herramientas para poder crear nuestras APIs con ayuda de Django. Tiene algunos beneficios como políticas de autenticación, incluyendo packetes de OAuth1 y OAuth2, serialización de datos que soporta ORM (Object-relational Mapping), puedes hacer uso de las populares Class Based Views y Function Based Views si necesitas algo más personalizado. Empresas como Mozilla, Red Hat, Heroku y Eventbrit lo utilizan.
Aportes 14
Preguntas 2
En lugar de instalar django rest framework para conocer su versión se puede hacer:
pip search djangorestframework | awk '/djangorestframework \(/'
En la documentación de Django recomiendan usar imports relativos en componentes locales.
https://docs.djangoproject.com/en/1.11/internals/contributing/writing-code/coding-style/#imports
Si al principio su terminal no reconoce httpie pueden hacer lo siguiente que me funciono: https://github.com/httpie/httpie/issues/500
Si no desean usar httpie pueden usar tranquilamente Postman.
Les recomiendo mucho este video de introduccion a Django rest framework para entender mas a profundidad como funciona
Introduccion a Django Rest Framework
Forma un poco mas limpia de hacer el listado de circulos
def list_circles(request):
"""List circles"""
circles = Circle.objects.all().filter(is_public=True)
data = [circle.name for circle in circles]
return JsonResponse(data, safe=False)
Esta super httpie no lo conocia, me sigue sorprendiendo la calidad de los cursos de platzi
Como podría vincular mi api con graphql, es decir tendría que crear una api y vincularla con graphql para la realización de las querys??
Aqui los comandos que use para instara httpie en windows 10:
(1) Ejectura powershell en modo administrador
(2) python -m pip install --upgrade pip
(3) pip install --upgrade pip setuptools pip install --upgrade httpie
Referencia: https://chasingcode.dev/blog/how-to-install-httpie-windows-10/
# Para convertir querySets en diccionarios
from django.forms.models import model_to_dict
def list_circles(request):
circles = Circle.objects.all()
data = []
for circle in circles:
circle_dict = model_to_dict(circle)
circle_dict["picture"] = str(circle.picture)
data.append(circle_dict)
return JsonResponse({"content": data})
Hay que convertir en campo de Picture a String porque sinó da un error con el ImageField que no es serializable a Json.
De modo que saldrá así: “circles/nombre_de_mi_foto.png”
Cómo se supone que usamos pip? Dónde está el entorno virtual?
Hola para instalar httpie en sus diferentes sistemas operativos lo pueden hacer siguiendo esta URL
https://httpie.org/docs#installation
después lo pueden usar de manera global para cualquier proyecto.
Soy el unico que tiene la incompatibilidad de rest_framework con el python
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.