Django Wars [Parte 05]: Formulário de login

O Django Wars foi idealizado e desenvolvido no Django 1.4. Algumas funcionalidades aqui descritas podem não funcionar ou funcionar de forma diferente em outras versões do Django

No nosso projeto já temos a página de cadastro, agora precisamos criar a página de login do usuário.
Novamente, com o django tudo fica mais fácil.
Dentro da biblioteca django.contrib.auth.forms existe a classe AuthenticationForm, que irá nos ajudar a criar o formulário de login.

Para criar uma sessão persistente do usuário no sistema, precisaremos de outra função, também presente na rica biblioteca de funções do Django, a função login(), que está na biblioteca django.contrib.auth.

Nossa views.py ficará da seguinte forma:

Notem como ela é bem parecida com a view registrar().
Com poucas linhas temos um formulário de login bastante funcional.

Para fazer o template eu tive um trabalho de preguiçoso.
Copiei o arquivo registrar.html, que criei para a view registrar(), que está dentro da pasta templates, e colei renomeando-o para logar.html.
Por que isso?

O código para exibir o formulário de registro e o código para exibir o formulário de login é o mesmo.
A única diferença se dá no botão de submit.
Em um, o botão chama-se ‘registrar’. No outro, o botão chama-se ‘logar’.

Esse Django é porreta! 😀

O código fonte atual do projeto está aqui:
https://github.com/frenetic/django-wars

3 thoughts on “Django Wars [Parte 05]: Formulário de login

  1. Olá, gostaria de saber como faço para logar um usuário sendo que os dados de user e senha se encontram em um banco pertencente a outra aplicação, se o django possui alguma ferramenta pra capturar esses 2 campos e fazer a validação na minha app… obrigado

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *