Bienvenida

1

Todo lo que aprender谩s sobre Django

Cimientos

2

Arquitectura de una aplicaci贸n

3

The Twelve-Factor App

4

Codebase: Settings modular

5

Codebase: Dependencias y archivos de docker

6

Codebase: Docker

7

Setups alternativos

Modelos

8

Herencia de modelos

9

Proxy models

10

App de usuarios

11

Organizando modelos en un paquete de Django

12

Creando el modelo de perfil de usuario

13

Soluci贸n del reto: arreglando la migraci贸n de users a user

14

Aplicaci贸n y modelo de c铆rculos

15

Migraciones y admin de c铆rculos

Introducci贸n a Django REST Framework

16

Aprende c贸mo construir tu propio API con Django Rest Framework

17

Vistas, URLs y Parsers de DRF

18

Serializers

19

Buenas pr谩cticas para el dise帽o de un API REST

20

Request, response, renderers y parsers

Real DRF

21

Autenticaci贸n y tipos de autenticaci贸n

22

APIView

23

Creando el token de autorizaci贸n

24

User sign up

25

Limitar login a usuarios con cuenta verificada

26

Configurar env铆o de email

27

Instalar PyJWT y generar tokens

28

Verificar cuenta usando JWT

29

Actualizar modelo de circle (membership)

30

Crear CircleViewSet

31

A帽adiendo autorizaci贸n y paginaci贸n

32

Creaci贸n de circulos

33

Update de c铆rculo, custom permissions y DRF Mixins

34

Migraci贸n de vistas de usuarios a ViewSets

35

Detalle de usuario

36

Update profile data

37

List members - Recursos anidado

38

Retrieve destroy member

39

Modelo de invitaciones y manager

40

Obtener invitaciones de un miembro

41

Unirse a grupo

42

Filtrado

43

App de rides y modelos

44

Implementar la publicaci贸n de un ride

45

Validaci贸n de campos de un serializer

46

Listado de rides

47

Editar un ride

48

Unirse a viaje

49

Terminar viaje

50

Calificar viaje

Tareas as铆ncronas

51

驴Qu茅 es Celery?

52

Creando tarea as铆ncrona

53

Creando tarea peri贸dica

Testing

54

Python unittest y Django TestCase

55

DRF APITestCase

Django Admin

56

Admin actions: Modificar datos de un query

57

Admin actions: Regresando una respuesta HTTP

Deployment

58

Instalaci贸n de la aplicaci贸n

59

Configuraci贸n del dominio en Mailgun y del Bucket en Amazon S3

60

Configuraci贸n final de Docker Container usando Supervisor

61

Tutorial de despliegue de la aplicaci贸n

62

Futuros pasos y cierre del curso

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende c贸mo construir tu propio API con Django Rest Framework

16/62
Recursos

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

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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/

Listar todo el QuerySet de Circle

# 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铆: 鈥渃ircles/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