Django REST Framework: Crea una REST API (GET, POST, PUT, DELETE) | Tutorial desde Cero
En este tutorial aprenderemos a crear una REST API utilizando Django REST Framework. La REST API nos permitirá realizar operaciones como GET, POST, PUT y DELETE en nuestra base de datos.
Pasos para crear una REST API con Django REST Framework:
- 1. Instalar Django y Django REST Framework:
- 2. Crear un nuevo proyecto Django:
- 3. Crear una nueva app:
- 4. Crear un modelo en models.py:
- 5. Crear un serializador en serializers.py:
- 6. Crear una vista en views.py:
- 7. Configurar las URLs en urls.py:
- 8. Ejecutar el servidor:
Para empezar, necesitamos instalar Django y Django REST Framework en nuestro entorno. Puedes hacerlo a través de pip:
pip install django
pip install djangorestframework
Crear un nuevo proyecto Django utilizando el comando startproject:
django-admin startproject myproject
Crear una nueva app en el proyecto Django utilizando el comando startapp:
python manage.py startapp myapp
Define un modelo en models.py de tu app para representar los datos que queremos exponer a través de la REST API.
from django.db import models
class MyModel(models.Model):
name = models.CharField(max_length=100)
description = models.TextField()
Crea un serializador en serializers.py para convertir los datos del modelo en un formato JSON.
from rest_framework import serializers
from .models import MyModel
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = ['id', 'name', 'description']
Crea una vista en views.py que maneje las operaciones GET, POST, PUT y DELETE.
from rest_framework import viewsets
from .models import MyModel
from .serializers import MyModelSerializer
class MyModelViewSet(viewsets.ModelViewSet):
queryset = MyModel.objects.all()
serializer_class = MyModelSerializer
Configura las URLs en urls.py de tu app para enlazar las vistas con las URLs correspondientes.
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import MyModelViewSet
router = DefaultRouter()
router.register('mymodel', MyModelViewSet)
urlpatterns = [
path('', include(router.urls)),
]
Ejecuta el servidor Django para probar tu REST API:
python manage.py runserver
¡Listo! Ahora puedes acceder a tu REST API a través de las URLs proporcionadas por Django REST Framework. Prueba realizar operaciones GET, POST, PUT y DELETE utilizando herramientas como Postman o curl.
🔴 * HOSTING RECOMENDADO *
Hostinger: https://www.hostinger.com/uskokrum2010
¡Usa el código USKOKRUM2010 para un buen descuento!
👨💻 Código Fuente: https://github.com/UskoKruM/django-rest-framework-tutorial
Instalación de Django en Entorno Virtual de Python (virtualenv) ✅ :
http://youtu.be/M4NIs4BM1dk
CURSO DE PYTHON 3 🐍 :
http://www.youtube.com/playlist?list=PL_wRgp7nihybbJ2vZaVGI5TDdPaK_dFuC
CURSO DE DJANGO 🦄 :
https://www.youtube.com/playlist?list=PL_wRgp7nihyZsEnudJ-XUAEdnOGUojbnn
SÍGUEME ✅ !
** Curso Udemy Bases de datos con MySQL: http://bit.ly/2vtrUg9
** INSTAGRAM: http://instagram.com/uskokrum2010
** FACEBOOK: http://facebook.com/uskokrum2010
** TWITTER: http://twitter.com/uskokrum2010
** SITIO WEB: http://uskokrum2010.com
** GITHUB: http://github.com/UskoKruM
** SUSCRÍBETE: http://youtube.com/uskokrum2010
🔴 ¿Quieres aprender y conversar sobre programación? Únete a nuestro grupo de Telegram ▶ : https://t.me/uskokrum2010_yt
Otros cursos GRATUITOS ✅ :
HTML: http://www.youtube.com/playlist?list=PL_wRgp7nihyZElF-6dkhPU_RetfSp99QN
JAVA: http://www.youtube.com/playlist?list=PL_wRgp7nihyZ6hKPQcioxneVQ1aTuC4fS
SQL SERVER: http://www.youtube.com/playlist?list=PL_wRgp7nihyYXeXZhOiZqKpAdwIRM28Ui
C#: https://www.youtube.com/playlist?list=PL_wRgp7nihyYACu4RyZd0PxJUseQ2tQl8
PHP y MySQL: http://www.youtube.com/playlist?list=PL_wRgp7nihyYXMZ5bBP6v0Q31fRRJLiud
VISUAL BASIC .NET: http://www.youtube.com/playlist?list=PL_wRgp7nihybLjm19HvBxRDp-ZvyGEhdh
JAVASCRIPT: http://www.youtube.com/playlist?list=PL_wRgp7nihyYdnV6ilQcZsfdG5d2nGWkc
NODE.JS: https://www.youtube.com/playlist?list=PL_wRgp7nihybJkFgDxd-LBZgmSIVdy3rd
jQuery: https://www.youtube.com/playlist?list=PL_wRgp7nihyY020gyukDupJEJ84gimiPS
CÓMO EDITAR CON CAMTASIA STUDIO 8: https://www.youtube.com/playlist?list=PL_wRgp7nihyYSbQ7Vbwh5TFbM5nOgriAm
CÓMO USAR ZOOM PARA CLASES VIRTUALES: https://www.youtube.com/playlist?list=PL_wRgp7nihyaNTSqIvKvJtBA-6Qw-UKTU
esa. como parpadeo el boton cuando dijo deja tu like
Por alguna razón no me aparece el metodo Delete, path y put, le di mil vueltas y nada. Alguno tiene alguna idea?
link imagen:
exceleeeeeeeeente video!!
muy recomendado!!
Excelente explicación, tienes algo de Reflex?
Excelente para los que estamos empezando con DJango, muy concreto, bien explícito y sin rodesos. muchas gracias
te has ganado un sub por ser claro, conciso y explicar todo lo usado para los más novatos en este framework 🙂
gracias, vine a buscar una solucio que como siempre, era un parentesis en una funcion () :') gracias bro
Te felicito, eres un genio explicando.
Gracias profe
me encanto
amigo una consulta, no entiendo como usar esto para un proyecto, o mejor dicho, para poner en mi portfolio, todos los tutoriales parecen incompletos, como puedo hacer para interactuar con esto desde una web? ya directamente cuando accedo a la web no lo toma, hay que elegir docs, api, etc…
brother que increible video gracias por ayudar a la gente nueva
Te amo, me solucionaste la vida! JAJAJAJJAA
La verdad muy bueno, de los mejores videos que encontre explicando este tema. acabo de terminar un curso de python en coderhouse y no se con que seguir, me gustaria q hagas un video ayudando a la gente que esta empezando su camino de programador backend cuales son las cosas basicas que debe saber hacer para empezar. bueno capas q ya lo hiciste es que tenes tantos videos que no los lei todos. abrazo
Y como creo una API rest por medio de request?
tengo un aplicacion creada con django y creo una api rest puedo conectar esa aplicacion con la api rest seria posible
y ahora eso como puedo enlazarlo a un proyecto para que pueda por ejemplo hacer la toma e ingreso de datos
Y como seria para poner imagenes? y formularios validados por Django?
A veces documentan las cosas de manera breve intentando que sea mas amigable y simple, pero consiguen un efecto contrario, que sea problemático y poco claro.
Me explico, en la Doc de Django RF en el Quickstart eliminan el panel de administrador, no sé cual es la idea de eso además de complicar las cosas. Mi plan es usar Django RF como backend, pero manteniendo el panel de administraición y en el front usar Vue.
¿Por qué crees que hacen eso? Hare mi primer proyecto con django rest framework, tengo experiencia con flask pero para cosas muy pequeñas tipo comunicar aplicaciones (microservicios) y he jugado con django. Para programar un nuevo proyecto de forma seria ¿Me sugieres desarrollarlo apoyandome solo de la documentación de rest framework?