Pular para o conteúdo principal
O Django é um framework web Python de alto nível que incentiva o desenvolvimento rápido e um design limpo e pragmático.

Instalação

🐍 Não esqueça de instalar o pacote AppSignal for Python em sua aplicação primeiro.
Primeiro, instale o pacote opentelemetry-instrumentation-django, bem como os pacotes opentelemetry-instrumentation-wsgi e opentelemetry-instrumentation-asgi. Para adicionar esses pacotes ao seu projeto, adicione a seguinte linha ao seu arquivo requirements.txt:
# requirements.txt
opentelemetry-instrumentation-django
opentelemetry-instrumentation-wsgi
opentelemetry-instrumentation-asgi
Para instrumentar consultas realizadas através do ORM do Django, instale a instrumentação para o banco de dados SQL que sua aplicação usa:
A integração AppSignal for Python usará automaticamente esta instrumentação quando o pacote correspondente estiver instalado. Para desabilitar essa instrumentação sem desinstalar o pacote, use a opção de configuração disable_default_instrumentations.

Configuração de desenvolvimento

O Django requer alguma configuração extra, pois geralmente é a primeira coisa iniciada em um app. Como mostrado no exemplo abaixo, o módulo appsignal precisa ser importado no arquivo manage.py. Então, no método main, o método appsignal.start precisa ser chamado para inicializar a instrumentação configurada no arquivo __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()

Configuração de produção (WSGI/ASGI)

Em produção, é recomendado executar o Django usando um servidor WSGI ou ASGI, como Gunicorn ou Uvicorn. Nesse cenário, o arquivo manage.py que é modificado na configuração de desenvolvimento acima nunca é chamado. Para instrumentar sua aplicação quando iniciada como um servidor WSGI ou ASGI, adicione o seguinte ao arquivo wsgi.py do seu projeto, se estiver usando um servidor 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 ao arquivo asgi.py do seu projeto, se estiver usando um servidor 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()

Recursos

Por padrão, a instrumentação do Django reporta os parâmetros de requisições recebidas, como query strings e parâmetros de roteamento.
🔐 Não envie Informações Pessoais Identificáveis (PII) para a AppSignal. Filtre PII (por exemplo, nomes, e-mails) e use um ID, hash ou identificador pseudonimizado no lugar.

Para entidades cobertas pela HIPAA, mais informações sobre como assinar um Business Associate Agreement (BAA) estão disponíveis em nossa documentação de Business Add-Ons.