# Django 4.2.9.dev20231204082947 - dokumentacja

# Jak używać Django z Uvicorn

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

## Instalowanie Uvicorn

You can install Uvicorn with `pip`:

    python -m pip install uvicorn

## Uruchamianie Django w 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:

    python -m uvicorn myproject.asgi:application

Uruchomi to proces nasłuchujący pod adresem `127.0.0.1:8000`. Konieczne jest, aby Twój projekt znajdował się w ścieżce instalacji Pythona; upewnij się, że uruchamiasz to polecenie z tego samego katalogu, co plik `manage.py`.

In development mode, you can add `--reload` to cause the server to reload any time a file is changed on disk.

For more advanced usage, please read the Uvicorn documentation.

## Deploying Django using Uvicorn and Gunicorn

Gunicorn is a robust web server that implements process monitoring and automatic restarts. This can be useful when running Uvicorn in a production environment.

To install Uvicorn and Gunicorn, use the following:

    python -m pip install uvicorn gunicorn

Then start Gunicorn using the Uvicorn worker class like this:

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