# Django 6.0.5 documentation

# Så här använder du Django med Uvicorn

Uvicorn är en ASGI-server baserad på `uvloop` och `httptools`, med tonvikt på hastighet.

## Installera Uvicorn

Du kan installera Uvicorn med `pip`:

    python -m pip install uvicorn

## Att köra Django i Uvicorn

När Uvicorn är installerat finns kommandot `uvicorn` tillgängligt som kör ASGI-applikationer. Uvicorn måste anropas med platsen för en modul som innehåller ett ASGI-applikationsobjekt, följt av vad applikationen heter (separerat med ett kolon).

För ett typiskt Django-projekt ser Uvicorn ut på följande sätt:

    python -m uvicorn myproject.asgi:application

Detta kommer att starta en process som lyssnar på `127.0.0.1:8000`. Det kräver att ditt projekt finns på Python-sökvägen; för att säkerställa det kör du det här kommandot från samma katalog som din `manage.py`-fil.

I utvecklingsläget kan du lägga till `--reload` för att få servern att ladda om varje gång en fil ändras på disken.

För mer avancerad användning, läs Uvicorn-dokumentationen.

## Distribuera Django med hjälp av Uvicorn och Gunicorn

Gunicorn är en robust webbserver som implementerar processövervakning och automatiska omstarter. Detta kan vara användbart när man kör Uvicorn i en produktionsmiljö.

För att installera Uvicorn och Gunicorn, använd följande:

    python -m pip install uvicorn uvicorn-worker gunicorn

Starta sedan Gunicorn med hjälp av Uvicorn-arbetarklassen så här:

    python -m gunicorn myproject.asgi:application -k uvicorn_worker.UvicornWorker