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 visualização LoginView. Uma linha no urls.py do projeto a adiciona, junto com as páginas de logout e senha:

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

Agora /accounts/login/ existe, com o nome login. A visualização 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 por ele na pasta templates/ de cada app, e o nome não inclui nenhum app, porque a visualização do Django não conhece seus apps.

Após um login bem-sucedido, a visualização 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
  • Em mysite/urls.py, inclua django.contrib.auth.urls em accounts/.
  • Crie notes/templates/registration/login.html: ele estende notes/base.html e exibe o form em um formulário POST com um botão Log in.
  • Após um login bem-sucedido, a pessoa é direcionada para /.
  • Abaixo de You are not signed in., exiba um link Log in.

Pressione Run e, em seguida, faça login como ada (senha coddy-pass-123).

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