Django: Usando o Session para exibir mensagens (Dica rápida)
Olá pessoal!
Aqui vai uma dica rápida para quem está se aventurando no Django.
O problema era exibir uma mensagem após a inclusão de alguns dados no banco. Após a inclusão dos dados foi utilizado o método HttpResponseRedirect e o problema dele é não poder passar informações adicionais, como uma mensagem que será exibida para o usuário. Foi aí que eu resolvi usar o recurso do Session.
Na view que define a mensagem faça algo assim:
request.session['mensagem'] = 'Dados incluídos!'
Na view que será exibida após a inclusão dos dados (ou qualquer outra página que você queira) será necessário verificar a mensagem:
mensagem = False
if request.session.has_key('mensagem'):
mensagem = request.session['mensagem']
del request.session['mensagem']
return render_to_response('pagina.html', {
'mensagem': mensagem,
})
Primeiro eu defini a variável mensagem com um valor False (No template dá para entender melhor por que eu fiz isso). Se a Session tiver a chave 'mensagem' então ela é atribuída à variável mensagem e depois é removida com usando o 'del'.
E o template fica assim:
E a dica foi essa.
Ah, este vídeo sobre Django é bem legal. É uma palestra um pouco antiga e algumas coisas já mudaram no Django, mesmo assim vale a pena.
InFog