Passer au contenu principal
Django est un framework web Python de haut niveau qui encourage le développement rapide et une conception propre et pragmatique.

Installation

🐍 N’oubliez pas d’installer le paquet AppSignal for Python dans votre application au préalable.
Tout d’abord, installez le package opentelemetry-instrumentation-django, ainsi que les packages opentelemetry-instrumentation-wsgi et opentelemetry-instrumentation-asgi. Pour ajouter ces packages à votre projet, ajoutez la ligne suivante à votre fichier requirements.txt :
# requirements.txt
opentelemetry-instrumentation-django
opentelemetry-instrumentation-wsgi
opentelemetry-instrumentation-asgi
Pour instrumenter les requêtes effectuées via l’ORM Django, installez l’instrumentation pour la base de données SQL utilisée par votre application :
L’intégration AppSignal for Python utilisera automatiquement cette instrumentation lorsque le paquet correspondant est installé. Pour désactiver cette instrumentation sans désinstaller le paquet, utilisez l’option de configuration disable_default_instrumentations.

Configuration de développement

Django nécessite une configuration supplémentaire, car c’est généralement la première chose démarrée dans une application. Comme indiqué dans l’exemple ci-dessous, le module appsignal doit être importé dans le fichier manage.py. Ensuite, dans la méthode main, la méthode appsignal.start doit être appelée pour initialiser l’instrumentation configurée dans le fichier __appsignal__.py.
# manage.py
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys

# Add this import statement
import appsignal

def main():
    """Run administrative tasks."""
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', '<YOUR_APP_NAME_HERE>.settings')

    # Add this method call
    appsignal.start()

    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)

if __name__ == '__main__':
    main()

Configuration de production (WSGI/ASGI)

En production, il est recommandé d’exécuter Django avec un serveur WSGI ou ASGI, tel que Gunicorn ou Uvicorn. Dans ce scénario, le fichier manage.py modifié dans la configuration de développement ci-dessus n’est jamais appelé. Pour instrumenter votre application lorsqu’elle est démarrée en tant que serveur WSGI ou ASGI, ajoutez ce qui suit au fichier wsgi.py de votre projet, si vous utilisez un serveur WSGI :
# wsgi.py
import os

# Add this import statement
import appsignal

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_app.settings')

# Add this method call
appsignal.start()

application = get_wsgi_application()
Ou au fichier asgi.py de votre projet, si vous utilisez un serveur ASGI :
# asgi.py
import os

# Add this import statement
import appsignal

from django.core.asgi import get_asgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_app.settings')

# Add this method call
appsignal.start()

application = get_asgi_application()

Fonctionnalités

Par défaut, l’instrumentation Django signale les paramètres des requêtes entrantes, comme les chaînes de requête et les paramètres de routage.
🔐 N’envoyez pas d’informations personnelles identifiables (PII) à AppSignal. Filtrez les PII (par exemple, noms, e-mails) et utilisez un identifiant, un hash ou un identifiant pseudonymisé à la place.

Pour les entités couvertes par la HIPAA, plus d’informations sur la signature d’un Business Associate Agreement (BAA) sont disponibles dans notre documentation Business Add-Ons.