InFog

Um blog sobre GNU, Linux, Open Source, Desenvolvimento e Nerdices em Geral

Django: Usando o Session para exibir mensagens (Dica rápida)

Tags: , ,

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:

1
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:

1
2
3
4
5
6
7
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:

1
2
3
{% if mensagem %}
    {{ mensagem }}
{% endif %}

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

3 Comentários

Python: O Framework Django

Tags: ,

Olá pessoal!

Hoje vou falar um pouco sobre o Framework Django.

A Django site.

Em poucas palavras este texto seria algo assim: “O Django é simples, poderoso e divertido”.

Bem, mas apenas estas palavras não querem dizer muita coisa, certo? Então vou detalhar melhor.

O Django é um framework para desenvolvimento web escrito em Python, esse mesmo que muitos conheceram nas aulas aqui no Blog. O legal do Django é que ele realmente cumpre o que diz quando a questão é o desenvolvimento rápido e limpo. Só para vocês terem uma ideia eu estou desenvolvendo pelo menos umas 5 vezes mais rápido com Django do que eu costumo fazer com o PHP.

Tudo bem, eu acabei de fazer uma comparação bem infeliz, comparar um framework com uma linguagem de programação… Mas eu também utilizei alguns frameworks para PHP, dentre eles o CakePHP, que aliás é ótimo, mas acho que eu não pequei bem o ritmo do CakePHP, por isso procurei outras opções (foi aí que topei com o Django).

Outra coisa que deve ser levada em consideração são as minhas habilidades com Python e com PHP e atualmente eu garanto que sou muito mais fluente em PHP, e mesmo assim desenvolvo mais rapidamente com o Django!

Só mais um detalhe sobre o PHP, eu ainda o utilizo e continuarei utilizando, então não pensem que eu estou criticando esta linguagem tão famosa.

Então vamos voltar ao Django.

Seguindo um dos conselhos do “Getting Real” eu decidi encarar um projeto pessoal e resolver uns problemas meus, e para isso mergulhei de cabeça no Django. No começo fiquei com aquela sensação estranha de “O que estou fazendo aqui?” … “Quero voltar para o meu PHP”. Mas foi apenas no começo, graças as habilidade que eu adquiri em Python fazendo as aulas aqui no blog e também desenvolvendo projetos como o GeSpeak, eu não me sentia tão perdido e comecei a entender melhor os conceitos do Django.

Um desses conceitos é o MVC (Model View Control), mas não pensem que ele é igual ao MVC do CakePHP e Ruby on Rails, não mesmo, este é um MVC com uma ideia própria. No caso do Django o “M” continua sendo o Model, então sem problemas, mas o “V”, das Views, tem um conceito um pouco diferente já que nas “Views” é onde é realizado o que é geralmente realizado nos “Controllers”.

- Eita, mas como assim? A View é o Control?

- É mais ou menos isso…

- Então, o Django não tem as Views?

- Tem sim, mas elas estão na forma de “Templates”.

- Então o Django não é MVC, ele é MCT?

- Não, ele “é” MVC, ele só encara essa sigla de uma forma diferenciada.

Certo, essa parte foi a que mais me confundiu, mas no final das contas correu tudo bem.

Agora vamos a uma pequena historinha: Imagine que você tem 6 anos de idade e é natal, você desembrulha o seu presente e vê aquele carrinho de controle remoto que era o seu sonho, você fica maluco… Abre a caixa… Bota o carrinho no chão… Pega o controle… E cadê as pilhas? Putz! Ele veio sem pilhas!!! E as lojas estão todas fechadas! Essa não, você só vai poder brincar com seu novo brinquedo no dia seguinte!

Chato isso, não? É por isso que o Django tem outra coisa muito legal, ele já vem com as pilhas incluídas! Aeeee! Nada de esperar até o dia seguinte! Ops, vamos voltar ao Django…

Com as “pilhas incluídas” você pode fazer interfaces administrativas de uma forma bem rápida e econômica (no número de linhas de código). É sério! Acho que só com Django eu consegui fazer um cadastro de Clientes escrevendo, sei lá umas 6 linhas além da definição do modelo.

- Só 6 linhas?

- Sim, SEIS linhas.

Bem, chega de puxar o saco do Django, se você quer aprender visite o site da comunidade brasileira, visite também o excelente “Aprendendo Django no Platena Terra“. Não deixem de fazer os tutoriais para iniciantes, vale muito a pena!

Por hoje é só, boa sorte com o Django!

InFog

2 Comentários

© 2009 InFog. All Rights Reserved.

This blog is powered by Wordpress and Magatheme by Bryan Helmig.