Skip to main content
Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design.

Installation

🐍 Don’t forget to install the AppSignal for Python package in your application first.
First, install the opentelemetry-instrumentation-django package, as well as the opentelemetry-instrumentation-wsgi and opentelemetry-instrumentation-asgi packages. To add these packages to your project, add the following line to your requirements.txt file:
To instrument queries performed via the Django ORM, install the instrumentation for the SQL database that your application uses:
The AppSignal for Python integration will automatically use this instrumentation when the corresponding package is installed. To disable this instrumentation without uninstalling the package, use the disable_default_instrumentations configuration option.

Development setup

Django requires some extra setup, as it’s usually the first thing started in an app. As shown in the example below, the appsignal module needs to be imported in the manage.py file. Then in the main method, the appsignal.start method needs to be called to initialize the instrumentation configured in the __appsignal__.py file.

Production setup (WSGI/ASGI)

In production, it is recommended to run Django using a WSGI or ASGI server, such as Gunicorn or Uvicorn. In this scenario, the manage.py file that is modified in the development setup above is never called. To instrument your application when started as a WSGI or ASGI server, add the following to your project’s wsgi.py file, if using a WSGI server:
Or to your project’s asgi.py file, if using an ASGI server:

Features

By default, the Django instrumentation reports incoming request parameters, like query strings and routing parameters.
🔐 Do not send Personal Identifiable Information (PII) to AppSignal. Filter PII (e.g., names, emails) and use an ID, hash, or pseudonymized identifier instead.

For HIPAA-covered entities, more info on signing a Business Associate Agreement (BAA) is available in our Business Add-Ons documentation.