Django

Django Channels

WebSockets, ASGI, consumers, routing, channel layers, authentication, real-time features

24 questions d'entretien·
Senior
1

Qu'est-ce que Django Channels ?

Réponse

Django Channels est une extension qui ajoute le support des protocoles asynchrones à Django, permettant de gérer WebSockets, HTTP2 et d'autres protocoles non-HTTP. Il étend le modèle requête-réponse synchrone de Django en utilisant ASGI (Asynchronous Server Gateway Interface) au lieu de WSGI, permettant ainsi des fonctionnalités temps réel comme le chat ou les notifications push.

2

Quelle est la différence principale entre WSGI et ASGI ?

Réponse

WSGI (Web Server Gateway Interface) est synchrone et ne gère qu'une requête à la fois par worker, tandis qu'ASGI (Asynchronous Server Gateway Interface) supporte les opérations asynchrones et les connexions persistantes comme WebSockets. ASGI peut gérer plusieurs connexions simultanément sans bloquer, ce qui est essentiel pour les applications temps réel.

3

Qu'est-ce qu'un Consumer dans Django Channels ?

Réponse

Un Consumer est l'équivalent d'une vue Django pour les connexions asynchrones. Il gère le cycle de vie complet d'une connexion WebSocket : connexion, réception de messages, envoi de réponses et déconnexion. Les Consumers peuvent être synchrones (WebsocketConsumer) ou asynchrones (AsyncWebsocketConsumer) et permettent de structurer la logique métier pour chaque type de connexion.

4

Quelle méthode d'un Consumer est appelée lors de l'établissement d'une connexion WebSocket ?

5

Qu'est-ce que le scope dans Django Channels ?

+21 questions d'entretien

Maîtrise Django pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement