AUTENTICAÇÃO NO DJANGO

30 views
Skip to first unread message

Jefferson silva pereira

unread,
Jan 13, 2021, 12:03:57 PM1/13/21
to Django Brasil
Bom dia pessoal, tudo bem? Gostaria da ajuda de vcs sobre como fazer um processo de autenticação no django, estou desenvolvendo meus estudos e ainda não consegui avançar dessa parte. Ao estudar o material disponibilizado na biblioteca do django  e em demais locais, ainda não consegui desenvolver essa parte de autenticação, o que percebi é como se a busca no banco não está sendo feita, mesmo tentando logar com o superuser o login não funciona. Se puderem me explicar como devo proceder, se devo criar um novo model, ficaria muito agradecido.Segue os meus códigos.

HTML:
<html>
<head>
<title>LOGIN</title>
</head>
<body>
{% if form.errors %}
<p>Your username and password didn't match. Please try again.</p>
{% endif %}

{% if next %}
{% if user.is_authenticated %}
<p>Your account doesn't have access to this page. To proceed, please login with an account that has access.</p>
{% else %}
<p>Please login to see this page.</p>
{% endif %}
{% endif %}

<div class="row">
<div class="col-md-4 offset-md-4">
<div class=" card auth-card">
<div class="card-body">
<h3 class="card-title">Faça seu Login!</h3>
<form method="post" action="{% url 'login' %}">
{% csrf_token %}
<input type="text" name="email" placeholder="Email">
<input type="password" name="senha" placeholder="Senha">
<input type="hidden" name="next" value="{{ next }}">
<button class="btn btn-primary btn-block" type="submit">Logar!</button>
<label class="label">Não é cadastrado? <a href="/accounts/cadastro/">Faça seu cadastro!</a></label>
</form>
</div>
</div>
</div>
</div>

{# Assumes you setup the password_reset view in your URLconf #}
<p><a href="{% url 'password_reset' %}">Lost password?</a></p>
</body>
</html>

VIEW:
def login(request):
if request.method == 'POST':
email = request.POST['email']
senha = request.POST['senha']
user = authenticate(request, email=email, senha=senha)
if user is not None:
#login(request, user)
return render(request, 'dashboard/dashboard/dashboard.html')
else:
return render(request, 'teste.html')
else:
return render(request, 'login.html')
  Segue abaixo os prints de como é o erro apresentado ao tentar fazer o login e como está o meu settings. Desde já agradeço.


Screenshot from 2021-01-13 09-58-54.png



Screenshot from 2021-01-13 10-01-49.png

Pedro Victor

unread,
Jan 13, 2021, 2:24:24 PM1/13/21
to django...@googlegroups.com
Você não deveria usar um is_valid(), para fazer primeiro a validação do seu formulário? 
Não sei se é esse o problema, porém, geralmente faço isso. 

--
Você recebeu essa mensagem porque está inscrito no grupo "Django Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para django-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/django-brasil/2c4c164d-c5a9-46b4-9016-63a94d1b6a10n%40googlegroups.com.


--
Pedro Victor

Vitor Hugo Campos

unread,
Jan 14, 2021, 11:16:58 PM1/14/21
to Django Brasil
O default do Django é usar o username + senha pra autenticar. Vc está usando email + senha.
É possível utilizar o email, mas precisa alterar algumas coisas.
https://docs.djangoproject.com/en/3.1/topics/auth/default/#how-to-log-a-user-in



--
Vitor Hugo Campos
Reply all
Reply to author
Forward
0 new messages