Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Cadastro e Login com Python - #05 Login

27/01/2022

Nesta aula criaremos o sistema de login utilizando Python e Django. Faremos a autenticação de usuário e senha para liberar o acesso do usuário.

Login com Python e Django

app/templates/home.html

Vamos começar criando um link simples para o login na home:

<a href="/painel/">Painel de Login</a><br>

project/urls.py

Vamos criar a rota de login (template), rota de processamento dos dados de login e a página após o login (dashboard):

path('painel/', painel),
path('dologin/', dologin),
path('dashboard/', dashboard),

app/views.py

Na views vamos criar as funções relativas as rotas recém criadas. Essas rotas serão responsáveis pela autenticação e redirecionamento do usuário:

#Formulário do painel de login
def painel(request):
    return render(request,'painel.html')

#Processa o login
def dologin(request):
    data = {}
    user = authenticate(username=request.POST['user'], password=request.POST['password'])
    if user is not None:
        login(request, user)
        return redirect('/dashboard/')
    else:
        data['msg'] = 'Usuário ou Senha inválidos!'
        data['class'] = 'alert-danger'
        return render(request,'painel.html',data)

#Página inicial do dashboard
def dashboard(request):
    return render(request,'dashboard/home.html')

Na views ainda, não esqueça de importar no top level da página, o módulo redirect, authenticate e login:

from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login

app/templates/painel.html

Vamos criar a página do painel de login, onde virá o formulário com usuário e senha:

{% extends 'main.html' %}

{% block content %}
    <form name="formPainel" id="formPainel" method="post" action="/dologin/">
        <div class="col-6 mt-4 m-auto">
            {% if msg %}
                <div class="alert {{class}}">
                    {{msg}}
                </div>
            {% endif %}

            {% csrf_token %}
            <input class="form-control mt-4" type="text" name="user" id="user" placeholder="Nome do Usuário:">
            <input class="form-control mt-4" type="password" name="password" id="password" placeholder="Senha:">
            <input class="btn btn-dark mt-4" type="submit" value="Entrar">
        </div>
    </form>
{% endblock %}

app/templates/dashboard/home.html

Vamos criar o diretório dashboard dentro de templates, e vamos criar o arquivo home.html que será a página inicial da área restrita:

{% extends 'main.html' %}

{% block content %}
    {% if request.user.is_authenticated %}
        

Área Restrita

Bem vindo {% else %} Você não tem acesso a essa área! {% endif %} {% endblock %}

Por hoje é só! Sucesso nos códigos e na vida!

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Cadastro e Login com Python - #04 Cadastro
No tutorial de hoje faremos o cadastro utilizando Python e Django. Vamos aprender desde o formulário html até a inserção no banco.
Saiba mais!
Data Science and Machine Learning - #33 KNN II
Neste vídeo daremos continuidade ao curso de Aprendizado de Máquina e Ciência de Dados explorando a fundo o algorítimo KNN (K Vizinhos Mais Próximos).
Saiba mais!
Python
Nesta seção aprofundaremos os conhecimentos sobre uma das linguagens em maior ascenção no mercado, o Python.
Saiba mais!