Async Function-Based Views
Use asynchronous FBVs for external I/O and concurrency.
# models.py
from django.db import models
class PingAsync(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
# admin.py
from django.contrib import admin
from .models import PingAsync
@admin.register(PingAsync)
class PingAsyncAdmin(admin.ModelAdmin):
list_display = ("created_at",)
# views.py
import httpx, asyncio
from django.http import JsonResponse
async def external_status(request):
async with httpx.AsyncClient(timeout=5) as client:
r = await client.get("https://httpbin.org/get")
return JsonResponse({"status": r.status_code})
Explanation:
- Async views require an ASGI server (e.g., Uvicorn/Daphne).
-
Do not perform blocking I/O inside
asyncviews.
- Category Views (FBV & CBV)
- Total Views 1123
- Last Modified 30 November, 2025
- Tags #async #fbv #performance #views
Previous snippet
Paginate ListView Results
Next snippet