Menu
CoddyTech

Fazendo login

Parte da seção Usuários e contas do Journey de Django da Coddy. Lição 2 de 16.

O site consegue identificar quem está conectado, mas não tem uma página para fazer login. O Django tem a view LoginView. Uma linha no urls.py do projeto a adiciona, junto com as páginas de logout e de senha:

path("accounts/", include("django.contrib.auth.urls")),

Agora /accounts/login/ existe, com o nome login. A view renderiza registration/login.html com um form que tem os campos username e password. Cabe a você escrever esse template: um formulário POST comum. O Django procura na pasta templates/ de cada app. O caminho começa com registration/, não com notes/, porque a view do Django não conhece seu app.

Após um login bem-sucedido, a view redireciona para LOGIN_REDIRECT_URL. O valor padrão, /accounts/profile/, não existe aqui, então defina-o em settings.py.

challenge icon

Desafio

Fácil

Adicione uma página de login.

  1. Em mysite/urls.py, inclua django.contrib.auth.urls em accounts/.
  2. Crie notes/templates/registration/login.html estendendo notes/base.html, que exiba form em um formulário POST com {% csrf_token %} e um botão Log in.
  3. Em settings.py, defina LOGIN_REDIRECT_URL como "/".
  4. Em base.html, para visitantes que não estiverem conectados, crie um link Log in para {% url 'login' %}.

Entre como ada (senha coddy-pass-123): o cabeçalho diz que ada está conectada.

Experimente você mesmo

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path("admin/", admin.site.urls),
    path("", include("notes.urls")),
]

Todas as lições de Usuários e contas

Pratique por conta própria: Playground de Django