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

Buenas prácticas para el diseño de un API REST

19/62
Recursos

Uno de los prerequisitos para crear APIs es conocer el protocolo HTTP. Verbos, métodos, estados y las cabeceras.

Van a estar diseñando una interfaz para programadores para que otros programadores puedan interactuar, nos olvidaremos de los templates para que un equipo de Frontend se encargue de eso. Debemos tener la perspectiva de un usuario de API y no la de un diseñador de API.

El objetivo es algo que siempre se deben preguntar qué problema deben de resolverle al usuario final nuestra API. El éxito de nuestra API se mide por qué tan rápido nuestros compañeros pueden usarla.

REST: Es una serie de principio de cómo diseñar una web service. Un estilo de arquitectura.

HTTP Status Code:

  • 201: Creado
  • 304: No modificado
  • 404: No encontrado
  • 401: No autorizado
  • 403: Prohibido o restringido.

Pro tips:

  • SSL
  • Caché
  • Valida
  • CSRF o Cross-Site Request Forgery
  • Limita los requests
  • Complementa tu API con un SDK

Aportes 34

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Excelente clase!! Muy buena información!! A mi YO del pasado le hubiera encantado saber esto antes… jajaja 😄

Creo que en este momento han cambiado mi paradigma de backend. Solo me gustaría que siguiendo con este curso pudieramos ver un ejemplo de como una API interactua con un diseño frontend (muy básico).

Limitar el tipo de solicitudes: @api_view([‘GET’, ‘POST’]), si no lo limitas, pueden hacer una solicitud DELETE, que sera admitida y no quieres este comportamiento.

Esta clase debería ser publica

Que clase tan Brutal! 😄

Esta clase es genial, me encantaría un curso dedicado nada más a las buenas prácticas para construcción de API.

Alguien Podria darme un Ejemplo Sobre uno de los últimos ProTips.
“Limit The Request”, no me quedo muy claro el concepto, Muchas Gracias de Antemano 😃

Vengo del curso de POSTMAN y ésta clase es excelente para complementar conceptos. Tremendo, Pablo.

Esta clase me causo demasiada emoción por seguir aprendiendo.

En este video hacen un resumen muy bueno del protocolo HTTP para refrescar la memoria
https://www.youtube.com/watch?v=K589vqhuMm8&t=490s

Diseño de APIs

Todo muy bien explicado, excelente clase

Un repaso bien chilero de cosas importantes a tomar en cuenta!!

Que gran clase, vengo del curso de FastAPI con el profe Facundo, pero esta clase es muy útil.

Esta clase deberia de estar en los cursos fundamentales de Backend o al menos en cursos iniciales, para llegar con esa noción.

Hace ya dos años empecé a aprender Django y hasta ahora nunca había tenido la perspectiva o mentalidad de que cuando desarrollo backend estoy haciéndolo para otros profesionales, tal vez porque hasta ahora he tenido más por necesidad que fungir como fullstack, pero esta mentalidad es una que creo cambia mucho la forma de los backend de fabricar aplicaciones

Es mejor utilizar solo dos urls por cada objeto, y hacer uso de los verbos de HTTP. Ejemplo:

# Listar todas las peliculas
GET /movies/ 
# Crear una pelicula
POST /movies/
# Actualizar una pelicula
PUT /movies/<id>/
# Parcialmente actualizar una pelicula
PATCH /movies/<id>/
# Eliminar una pelicula
DELETE /movies/<id>

minuto 16:10 la imagen me dio mucha risa

Vengo de Java y rascando me encontré esta clase. Chulada,

Super, estoy encantado con este curso; Conozco muchos conceptos pero a lo largo del tiempo he olvidado algunos.

Hola, amigos.
¿Donde puedo aprender sobre protocolos? ¿Hay algún curso aquí?

Buen resumen para recordar conceptos

Que buena clase !!! 😃 …

Como podria yo documentar una API?. conocen alguna libreria para ello, tengo entendido que con DRF se puede, pero en el caso que se desarrolle una API en otra tecnologia, que opciones tengo?

Excelente clase, útil para cualquier backend no solo para Django!

un resumen muy importante acerca de los status code, exelente!

Wou, que clase tan interesante.

buena clase, bien explicada!!

Wow ! excelente clase !!

buenisima la clase

Están tremendos estos conocimientos!

El vídeo que siempre necesité

Buenas , se puede mandar una imagen por una API rest ??

Question

En el min 12:58, menciona el uso de un query param para recibir recursos en distintos formatos.

Cuando me he visto en la necesidad de resolver este problema he usado el header Accept.

Content-Type: application/json
Accept: application/json

En función de mejoras prácticas de diseño
¿Es mejor el uso del query param o del header?


Referencia: https://developer.mozilla.org/es/docs/Web/HTTP/Headers/Accept