/Django 3.1

How to use Django with Uvicorn

Uvicorn is an ASGI server based on uvloop and httptools, with an emphasis on speed.

Installing Uvicorn

You can install Uvicorn with pip:

python -m pip install uvicorn gunicorn

Running Django in Uvicorn

When Uvicorn is installed, a uvicorn command is available which runs ASGI applications. Uvicorn needs to be called with the location of a module containing an ASGI application object, followed by what the application is called (separated by a colon).

For a typical Django project, invoking Uvicorn would look like:

gunicorn myproject.asgi:application -k uvicorn.workers.UvicornWorker

This will start one process listening on It requires that your project be on the Python path; to ensure that run this command from the same directory as your manage.py file.

For more advanced usage, please read the Uvicorn documentation.

© Django Software Foundation and individual contributors
Licensed under the BSD License.