0Pricing
Django Academy · Leçon

APIView et fonction @api_view

Créez des points de terminaison de deux façons.

APIView et fonction @api_view est une leçon Django Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Django Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Django Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Two Ways to Build Endpoints

DRF lets you write endpoints as classes with APIView or as plain functions decorated with @api_view. Both speak the same JSON dialect.

The Class Style

APIView subclasses Django's View but gives you DRF's request parsing, content negotiation, and tidy response handling for free.

from rest_framework.views import APIView

Methods Map to Verbs

In an APIView you write a method per HTTP verb: get for reads, post for creates, and so on, keeping each action clearly separated.

class BookList(APIView):
    def get(self, request):
        ...
    def post(self, request):
        ...

Return a Response

Instead of HttpResponse, you return DRF's Response object, which renders to JSON or the browsable API based on the request.

from rest_framework.response import Response
return Response({'ok': True})

Read request.data

DRF parses the body for you, so you read posted JSON from request.data as a normal Python dict, no manual decoding needed.

title = request.data['title']

The Function Style

For simple endpoints the @api_view decorator turns an ordinary function into a DRF view, listing which HTTP methods it accepts.

from rest_framework.decorators import api_view

Declare Allowed Methods

You pass the verbs to the decorator. Any method not listed gets an automatic 405 Method Not Allowed, so you do not handle it yourself.

@api_view(['GET', 'POST'])
def books(request):
    ...

Same Response Object

Function views use the very same DRF Response, so you can mix class and function styles in one project without friction.

return Response(serializer.data)

Which Style to Pick

Reach for @api_view when an endpoint is small and one-off; choose APIView when you want reusable, organized methods on a class.

Set the Status

Both styles let you pass status= to Response so clients get the right HTTP code, like 201 when you create something new.

Response(data, status=201)

Same Power, Two Shapes

Whether class or function, you get DRF parsing, responses, and status handling, the difference is mostly structure and personal taste.

Quick Check

What does @api_view do to a plain function?

Recap: Two View Styles

You can build endpoints with class-based APIView or function-based @api_view, both returning a DRF Response. Pick the shape that fits. 🧩

Questions Fréquemment Posées

La leçon « APIView et fonction @api_view » est-elle gratuite ?

Oui — le texte complet de « APIView et fonction @api_view » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Django Academy, passe à CoddyKit PRO. Le cours Django Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « APIView et fonction @api_view » ?

Créez des points de terminaison de deux façons. Tu pratiques Django Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Django Academy ?

Aucune expérience préalable n'est requise. Django Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « APIView et fonction @api_view » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Django Academy ?

Oui. Chaque leçon Django Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Installer et configurer DRF
  2. Sérialiseurs : du modèle au JSON
  3. APIView et fonction @api_view
  4. L’API navigable et les codes d’état
← Retour à Django Academy