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 async views.
  • Category Views (FBV & CBV)
  • Total Views 1123
  • Last Modified 30 November, 2025
  • Tags #async #fbv #performance #views
Never miss a story on Django.wiki

Subscribe for fresh tutorials, snippets, and updates.

By subscribing you agree to our Privacy Policy.