Uma lista de todos os sinais que o Django envia.
See also
O framework de comentários envia um conjuntos de sinais relacionados a ele.
O módulo django.db.models.signals define um conjunto de sinais enviados pelo sistema de módels.
Warning
Muitos destes sinais são enviado por vário métodos de model como __init__() ou save() que você pode sobrescrever no seu próprio código.
Se você sobrescreve estes métodos no seu próprio model, você deve chamar os método da classe pai para que este sinal seja enviado.
Note também que o Django armazena manipuladores de sinais como referências fracas por padrão, então se seu manipulador for uma função local, ela poderia ser “garbage collected”. Para previnir isso, passe weak=False quando você chamar o método connect().
Sempre que você instanciar um model do Django, este sinal é enviado no início do método __init__() do model.
Argumentos enviados com este sinal:
Por exemplo, o tutorial tem esta linha:
p = Poll(question="What's up?", pub_date=datetime.now())
Os argumentos enviados para um manipulador pre_init seriam:
Argumento | Valor |
---|---|
sender | Poll (a classe em si) |
args | [] (uma lista vazia, porque não houve argumentos posicionais passados para __init__.) |
kwargs | {'question': "What's up?", 'pub_date': datetime.now()} |
Como o pre_init, mas este é enviado quando o método __init__(): finaliza.
Argumentos enviados com este sinal:
Este é enviado no início do método save().
Argumentos enviardos com este sinal:
Como pre_save, mas enviado ao final do método save().
Argumentos enviados com este sinal:
Enviado no início do método de model delete(). Argumentos enviados com este sinal:
Como pre_delete, mas enviado ao final do método delete().
Argumentos enviados com este sinal:
A instância atual sendo criada.
Note que o objeto não estará mais no banco de dados, portanto seja muito cuidadoso com o que faz com esta instância.
Enviado sempre que uma classe de model estiver sendo "preparada" -- isto é, uma vez que o model tenha sido definido e registrado no sistema de model do Django. O Django usa este sinal internamente; ele geralmente não é usado em aplicações de terceiros.
Argumentos que são enviados com este sinal:
Sinais enviados pelo django-admin.
Enviado pelo syncdb depois de instalar uma aplicação.
Qualquer manipulador que ouve este sinal, precisa ser escrito num lugar específico: num módulo management numa de suas INSTALLED_APPS. Se o manipulador estiver registrado em algum outro lugar eles podem não ser carregados pelo syncdb.
Argumentos enviados com este sinal:
Indica a quantidade de informações que o manage.py imprime na tela. Veja o flag --verbosity` para detalhes.
Funções que ouvem o post_syncdb deve ser ajustar o que vão mostrar na tela baseado no valor deste argumento.
Se interactive for True, ele assegura-se de abrir um prompt para usuário digitar coisas na linha de comando. Se o interactive for False, as funções que ouvem este sinal não devem tentar abrir um prompt para nada.
Por exemplo, a aplicação django.contrib.auth somente abre um prompt para criar um superusuário quando o interactive é True.
Sinais enviados pelo core do framework quando processa uma requisição.
Enviado quando o Django começar a processar uma requisição HTTP.
Argumentos enviados com este sinal:
Enviado quando o Django finaliza o processamento da requisição HTTP.
Argumentos enviados com este sinal:
Este sinal é enviado sempre que o Django encontra uma exceção enquanto processa uma chegada de requisição HTTP.
Argumentos enviados com este sinal:
Sinais que somente são enviados quando estão rodando testes.
Enviados quando o sistema de teste renderiza um template. Este sinal não é emitido durante uma operação normal do servidor do Django -- ele somente está disponível durante o teste.
Argumentos enviados com este sinal:
Dec 26, 2011