Naar hoofdinhoud gaan
Django is een high-level Python-webframework dat snelle ontwikkeling en een schoon, pragmatisch ontwerp stimuleert.

Installatie

🐍 Vergeet niet om eerst het AppSignal for Python-package te installeren in uw applicatie.
Installeer eerst het opentelemetry-instrumentation-django-pakket, evenals de pakketten opentelemetry-instrumentation-wsgi en opentelemetry-instrumentation-asgi. Om deze pakketten aan uw project toe te voegen, voegt u de volgende regel toe aan uw requirements.txt-bestand:
# requirements.txt
opentelemetry-instrumentation-django
opentelemetry-instrumentation-wsgi
opentelemetry-instrumentation-asgi
Om queries die via de Django ORM worden uitgevoerd te instrumenteren, installeert u de instrumentatie voor de SQL-database die uw applicatie gebruikt:
De AppSignal for Python-integratie gebruikt deze instrumentatie automatisch wanneer het bijbehorende package is geïnstalleerd. Om deze instrumentatie uit te schakelen zonder het package te verwijderen, gebruikt u de configuratieoptie disable_default_instrumentations.

Development-setup

Django vereist wat extra setup, omdat het meestal het eerste is wat in een app wordt gestart. Zoals in het onderstaande voorbeeld te zien is, moet de appsignal-module worden geïmporteerd in het bestand manage.py. Vervolgens moet in de main-methode de methode appsignal.start worden aangeroepen om de instrumentatie te initialiseren die is geconfigureerd in het bestand __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()

Production-setup (WSGI/ASGI)

In productie wordt aanbevolen om Django uit te voeren met een WSGI- of ASGI-server, zoals Gunicorn of Uvicorn. In dit scenario wordt het bestand manage.py dat in de bovenstaande development-setup wordt aangepast, nooit aangeroepen. Om uw applicatie te instrumenteren wanneer deze wordt gestart als een WSGI- of ASGI-server, voegt u het volgende toe aan het bestand wsgi.py van uw project, als u een WSGI-server gebruikt:
# 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()
Of aan het bestand asgi.py van uw project, als u een ASGI-server gebruikt:
# 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()

Functies

Standaard rapporteert de Django-instrumentatie inkomende request-parameters, zoals query strings en routing-parameters.
🔐 Stuur geen Persoonlijk Identificeerbare Informatie (PII) naar AppSignal. Filter PII (bijv. namen, e-mailadressen) en gebruik in plaats daarvan een ID, hash of gepseudonimiseerde identificator.

Voor onder HIPAA vallende entiteiten vindt u meer informatie over het ondertekenen van een Business Associate Agreement (BAA) in onze documentatie over Business Add-Ons.