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


Evaldo Junior

Desenvolvedor web, palestrante, escritor e usuário e contribuidor do Software Livre.

comments powered by Disqus