Zum Hauptinhalt springen
Django ist ein hochrangiges Python-Webframework, das schnelle Entwicklung und sauberes, pragmatisches Design fördert.

Installation

🐍 Vergessen Sie nicht, zuerst das AppSignal for Python-Paket zu installieren in Ihrer Anwendung.
Installieren Sie zunächst das Paket opentelemetry-instrumentation-django sowie die Pakete opentelemetry-instrumentation-wsgi und opentelemetry-instrumentation-asgi. Um diese Pakete zu Ihrem Projekt hinzuzufügen, fügen Sie die folgende Zeile in Ihre requirements.txt-Datei ein:
# requirements.txt
opentelemetry-instrumentation-django
opentelemetry-instrumentation-wsgi
opentelemetry-instrumentation-asgi
Um Abfragen zu instrumentieren, die über das Django-ORM ausgeführt werden, installieren Sie die Instrumentierung für die SQL-Datenbank, die Ihre Anwendung verwendet:
Die AppSignal for Python-Integration verwendet diese Instrumentierung automatisch, wenn das entsprechende Paket installiert ist. Um diese Instrumentierung zu deaktivieren, ohne das Paket zu deinstallieren, verwenden Sie die Konfigurationsoption disable_default_instrumentations.

Entwicklungsumgebung einrichten

Django erfordert eine zusätzliche Einrichtung, da es üblicherweise das erste ist, was in einer App gestartet wird. Wie im folgenden Beispiel gezeigt, muss das Modul appsignal in der Datei manage.py importiert werden. Dann muss in der Methode main die Methode appsignal.start aufgerufen werden, um die in der Datei __appsignal__.py konfigurierte Instrumentierung zu initialisieren.
# 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()

Produktions-Setup (WSGI/ASGI)

In der Produktion wird empfohlen, Django mit einem WSGI- oder ASGI-Server wie Gunicorn oder Uvicorn auszuführen. In diesem Szenario wird die in der Entwicklungsumgebung oben modifizierte Datei manage.py niemals aufgerufen. Um Ihre Anwendung zu instrumentieren, wenn sie als WSGI- oder ASGI-Server gestartet wird, fügen Sie Folgendes in die Datei wsgi.py Ihres Projekts ein, wenn Sie einen WSGI-Server verwenden:
# 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()
Oder in die Datei asgi.py Ihres Projekts, wenn Sie einen ASGI-Server verwenden:
# 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()

Funktionen

Standardmäßig meldet die Django-Instrumentierung die Parameter eingehender Anfragen, wie Query-Strings und Routing-Parameter.
🔐 Senden Sie keine personenbezogenen Daten (Personal Identifiable Information, PII) an AppSignal. Filtern Sie PII (z. B. Namen, E-Mail-Adressen) und verwenden Sie stattdessen eine ID, einen Hash oder einen pseudonymisierten Bezeichner.

Für HIPAA-pflichtige Stellen finden Sie weitere Informationen zum Abschluss eines Business Associate Agreement (BAA) in unserer Business Add-Ons-Dokumentation.