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

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Verificar cuenta usando JWT

28/62
Recursos

Aportes 21

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Pablo es un excelente profesor.

Platzi, me encantaría ver un curso completo y avanzado de django con react. Por supuesto, con Pablo como profesor!

Es incómodo cuando el profesor escribe el código en la parte baja de la pantalla, en la última línea disponible. Es hace que cuando se pause la clase, los controles del video tapen la última línea de código y no se pueda ver.

Buenas, tengo una duda sobre el metodo validate_token. Sé que se llama cuando llamamos serializer.is_valid() en la vista AccountVerificationAPIView, pero porque pasa esto? no veo que la clase Serializer tenga una metodo validate_token(). O es que is_valid() llama a todos los metodos que se llamen validate_NOMBRE_DE_CAMPO (en este caso token)

Nadie sabe cómo implementar JWT para un login??

Que chimba de clase 🤩. Es intuitivo. Dificil pero muy interesante. Así se aprende o se aprende

Me parece que podríamos retornar el payload para reemplazar data en siguientes validaciones, una vez se decodifica, ya se verificó tanto la firma como la expiración del token.

con docker, hay alguna manera de enlazar pgadmin4 con el ?

alguien me explica porque se tiene que usar la sercret key en la generación de token con JWT … es decir, es específicamente necesario.? y porqué

Serializer AccountVerification, métodos para validar token y actualizar usuario verificado

Creación de vista para verificar JWT

Verificación

se puede usar el jwtoken para el inicio de sesión?

Que tal quizás le sirva a alguien.
Al hacer el decode en el serializer obtenia un error tenia esto:
payload = jwt.decode(data, .......)y tuve que hacer
payload = jwt.decode(data.get('token'), ...
No estoy seguro del porque a Pablo si le funciona alguien más tuvo este error?

En el ejemplo se utilizó el método POST y se envía el token generado al endpoint en el body de la petición, este parámetro debería llegar por petición GET al endpoint para que el usuario pueda activar su cuenta al hacer clic no?

todo me sale perfecto hasta cuando hago login, no encuentr el error, valido el token, lo envia al “frontend”, pero cuando me hago el login con el usuario y password me sale lo siguiente

password=secretpassword -b
HTTP/1.1 400 Bad Request
Allow: POST, OPTIONS
Content-Length: 81
Content-Type: application/json
Date: Wed, 13 May 2020 10:35:35 GMT
Server: WSGIServer/0.2 CPython/3.6.10
Vary: Accept, Cookie
X-Frame-Options: DENY
x-xss-protection: 1; mode=block

{
    "email": [
        "Enter a valid email address."
    ],
    "password": [
        "This field is required."
    ]
}

estoy metiendo en

Tengo una duda conceptual:

  • Siento que en algunas partes se copia el mismo código en vez de extender las clases, lo que iría contra lo del DRY (don´t repeat yourself). Hay alguna razón para que las clases no hereden de una gran clase? (algo así como UsersAPIView(APIView)) …

El punto es para saber que recomendarían.

Saludos y gracias

Para los que tengan el siguiente error al hacer login:

NotImplementedError:update()must be implemented.

Lo soluciones adicionando a:
class UserLoginSerializer(serializers.Serializer):

`def update(self, instance, data):
   		return instance`

👍🤙

Serializer AccountVerification método validate_token

Vista AccountVerificationAPIView

URL verificación token