INICIO DA AULA
Criação da fucionalidade de Login
views.py atualizado
from django.views.generic import View
from django.shortcuts import render, redirect
class Login(View):
def get(self, request):
contexto={'mensagem': ''}
if request.user.is_authenticated:
return redirect("/veiculo")
else:
return render(request, 'autenticacao.html', contexto)
implementar o “verbo” POST:
views.py atualizado para conter login e logout
from django.views.generic import View
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login, logout
from django.conf import settings
class Login(View):
def get(self, request):
contexto={'mensagem': ''}
if request.user.is_authenticated:
return redirect("/veiculo")
else:
return render(request, 'autenticacao.html', contexto)
def post(self, request):
#Obtem as crendenciais de autenticação do formulário
usuario = request.POST.get('usuario', None)
senha = request.POST.get('senha', None)
#Verificar as crendencias de autenticação fornecidas
user = authenticate(request, username=usuario, password=senha)
if user is not None:
#Verificar se o usuario esta ativo
if user.is_active:
login(request, user)
return redirect("/veiculo")
return render(request, 'autenticacao.html', {'mensagem': ' Usuario inatico'})
return render(request, 'autenticacao.html', {'mensagem': 'Usuario ou Senha Invalidos'})
class Logout(View):
"""
Class Based View para realizar logout de usuarios.
"""
def get(self, request):
logout(request)
return redirect(settings.LOGIN_URL)
add em settings.py
130 LOGUIN_URL = '/'
criação da rota de logout em urls.py
from django.contrib import admin
from django.urls import path
from sistema.views import Login, Logout
urlpatterns = [
path('admin/', admin.site.urls),
path('', Login.as_view(), name='login'),
path('logout/', Logout.as_view(), name='logout'),
]
Fora do runserver iniciar um modulo “veiculo”:
python3 manage.py startapp veiculo
atualizar o sistema/urls.py (urls mãe) com ‘veiculo’
from django.contrib import admin
from django.urls import path, include
from sistema.views import Login, Logout
urlpatterns = [
path('admin/', admin.site.urls),
path('', Login.as_view(), name='login'),
path('logout/', Logout.as_view(), name='logout'),
path('veiculo/', include('veiculo.urls'), name='veiculo'),
]
criar um veiculo/urls.py