
Django Async & ASGI
ASGI vs WSGI, async views, sync_to_async, async_to_sync, Einschränkungen des synchronen ORM, async-Performance, database connection pooling
1Was ist der Hauptunterschied zwischen WSGI und ASGI?
Was ist der Hauptunterschied zwischen WSGI und ASGI?
Antwort
ASGI (Asynchronous Server Gateway Interface) erweitert WSGI um die Unterstützung für asynchrone Programmierung und persistente Verbindungen wie WebSockets. WSGI ist synchron und kann pro Worker nur eine Anfrage gleichzeitig verarbeiten, während ASGI dank der asyncio-event-loop mehrere Anfragen gleichzeitig in einem einzigen Prozess verarbeiten kann.
2Wie deklariert man eine async View in Django?
Wie deklariert man eine async View in Django?
Antwort
Eine async View in Django wird einfach durch das Schlüsselwort async vor def deklariert. Django erkennt automatisch, ob die View asynchron ist, und führt sie in der passenden event loop aus. Diese native Python-3.5+-Syntax wird seit Django 3.1 vollständig unterstützt.
3Welche Rolle spielt sync_to_async in Django?
Welche Rolle spielt sync_to_async in Django?
Antwort
sync_to_async ist ein von asgiref bereitgestellter Adapter, mit dem synchroner Code in einem asynchronen Kontext ausgeführt werden kann. Er umschließt eine synchrone Funktion und führt sie in einem separaten Thread-Pool aus, wodurch ein Blockieren der event loop verhindert wird. Das ist unerlässlich, um das Django-ORM aus einer async View aufzurufen, da das ORM synchron ist.
Warum kann das Django-ORM nicht direkt in einer async View verwendet werden?
Welche Rolle spielt async_to_sync in Django?
+23 Interview-Fragen
Weitere Django-Interviewthemen
Python-Grundlagen
Objektorientiertes Python
Django-Grundlagen
Django Models - Grundlagen
Django Views
Django-Templates
Django-Formulare
Erweiterte QuerySets
Django-Authentifizierung
Django-Middleware
Django Admin
Django REST Framework
Django-Signale
Datei-Upload
Django Caching
Django-Sessions
Django E-Mail
Django-Testing
Django-Sicherheit
Django-Deployment
Fortgeschrittenes Django ORM
Django-Performance
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django im Microservices-Ökosystem
Benutzerdefinierte Django-Befehle
Django-Internationalisierung
Django Design Patterns
Settings & Produktionskonfiguration
Observability & Monitoring
Meistere Django für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten