https://cursos.alura.com.br/course/autenticacao-django-2/task/68286
Fiquei com uma dúvida na lógica proposta pelo material no método de cadastro:
def cadastro(request):
if request.method == 'POST':
nome = request.POST['nome']
email = request.POST['email']
senha = request.POST['password']
senha2 = request.POST['password2']
print(nome, email, senha, senha2)
return redirect('login')
else:
return render(request,'usuarios/cadastro.html')
return render(request,'usuarios/cadastro.html')
O else possui o mesmo retorno que a linha abaixo:
return render(request,'usuarios/cadastro.html')
.
A primeira vista, seria desnecessário esse else
deixando apenas o último return
considerando que esse último return
seria inatingível. Existe algum caso, do jeito que o código foi proposto no material, em que esse último return
seria acionado? Pois se método não for 'POST'
ele vai entrar no else
(mesmo que seja 'GET'
ou None
). Se a variável method
não existir em request
então uma exceção seria lançada, correto?
Uma versão simplificada do código seria:
def cadastro(request):
if request.method == 'POST':
nome = request.POST['nome']
email = request.POST['email']
senha = request.POST['password']
senha2 = request.POST['password2']
print(nome, email, senha, senha2)
return redirect('login')
return render(request,'usuarios/cadastro.html')