Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Lógica método cadastro: 02 - Formulários no Django - CSRF, token e dados.

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')
1 resposta
solução!

Acho que sua versão simplificada faz mais sentido, Jefferson.