• Sistemas Web
  • Autenticação

Autenticação

Mostrando usuário autenticado

Toda função de view recebe pelo menos um argumento, um objeto request. Caso haja um usuário autenticado, o Django preenche o atributo user com os dados desse usuário (carregados do banco de dados através de uma classe de modelo).

Exercício 1

Adicione o seguinte print na função index do arquivo notes/views.py (a primeira linha já está no seu código):

def index(request):
    print(request.user, request.user.first_name, request.user.last_name)

Recarregue a página inicial e veja a saída no terminal. Os dados do seu usuário devem aparecer no terminal. Caso não apareçam, certifique-se de que você adicionou um nome e sobrenome para ele pelo Django Admin.

Exercício 2

O usuário também está disponível no contexto do template. Apague o print do exercício anterior e modifique o elemento <body> do seu template notes/templates/notes/base.html para mostrar o primeiro nome do usuário autenticado:

<body>
  {% if user.is_authenticated %}
  {{ user.first_name }}
  {% endif %}

  {% block content %} {% endblock %}
</body>

Recarregue a página. O nome deve aparecer no topo.

Agora que já conseguimos mostrar os dados do usuário, vamos implementar o logout.