Košík je prázdný

Vývoj webových aplikací a API (Application Programming Interface) se neustále vyvíjí a s tím se mění i nástroje, které vývojáři používají. Django REST Framework (DRF) je výkonný a flexibilní toolkit pro stavbu webových API, který je založen na populárním webovém frameworku Django. V tomto článku se podíváme na základní kroky a nejlepší praktiky pro vytváření API s použitím Django REST Framework.

Základy Django REST Framework

Instalace a nastavení

Prvním krokem je instalace Django REST Frameworku do vašeho prostředí. Toho dosáhnete spuštěním příkazu pip install djangorestframework. Po instalaci je potřeba přidat 'rest_framework' do seznamu INSTALLED_APPS v souboru settings.py vašeho Django projektu. Tímto krokem zpřístupníte Django REST Framework ve vašem projektu.

Vytvoření modelu

API často pracuje s daty, která jsou uložena v databázi. Django umožňuje definovat strukturu těchto dat pomocí modelů. Model v Djangu je základním stavebním kamenem, který reprezentuje tabulku v databázi. Příklad jednoduchého modelu může vypadat takto:

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    author = models.CharField(max_length=50)
    published_date = models.DateTimeField(auto_now_add=True)

Serializace dat

Serializery v Django REST Framework umožňují převádět složité datové typy, jako jsou querysety a modelové instance, do Python datových typů, které lze snadno převést do JSON. Vytvoření serializeru pro model Article by mohlo vypadat takto:

from rest_framework import serializers
from .models import Article

class ArticleSerializer(serializers.ModelSerializer):
    class Meta:
        model = Article
        fields = ['id', 'title', 'content', 'author', 'published_date']

Vytvoření viewsetů a routerů

Viewsety v Django REST Framework zjednodušují logiku, která je běžně obsažena ve view funkcích. Umí automaticky poskytovat operace jako jsou create, retrieve, update a destroy pro model. Pro model Article může viewset vypadat takto:

from rest_framework import viewsets
from .models import Article
from .serializers import ArticleSerializer

class ArticleViewSet(viewsets.ModelViewSet):
    queryset = Article.objects.all()
    serializer_class = ArticleSerializer

Pro připojení viewsetů k URL, Django REST Framework poskytuje router, který automaticky směruje URL na správné viewsety. Ve vašem urls.py souboru můžete router nastavit takto:

from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import ArticleViewSet

router = DefaultRouter()
router.register(r'articles', ArticleViewSet)

urlpatterns = [
    path('', include(router.urls)),
]

Testování API

Po nastavení modelů, serializerů, viewsetů a routerů je důležité vaše API otestovat. Django REST Framework nabízí vestavěný Browsable API, díky kterému můžete snadno procházet vaše API a testovat jednotlivé endpointy přímo z webového prohlížeče.

 

V tomto článku jsme prošli základními kroky vývoje API s použitím Django REST Framework. Od instalace a nastavení přes vytvoření modelů, serializace, až po vytvoření viewsetů a routerů. Django REST Framework je silný nástroj, který umožňuje vývojářům efektivně a rychle vytvářet RESTful API. S jeho pomocí můžete snadno stavět robustní a dobře strukturované webové aplikace a služby.