então estou executando este código
def login_or_join(request):
if request.method == "POST":
option = request.POST.get("option")
print('post request recieved')
if option == "1":
return login_screen(request)
if option == '2':
return in_game(request)
return render(request,"login_or_join.html")
e def login_screen() se parece com isso
def login_screen(request):
if request.method == "POST":
username = request.POST.get("username")
password = request.POST.get("password")
print(username)
print(password)
user = authenticate(request, username=username, password=password)
print(user)
if user is not None:
return redirect('join_lobby')
else:
return render(request,'login_page.html',)
return render(request, 'login_page.html')
Sempre que clico em "opção 1", ele executa login_screen, mas de uma forma que eu não quero. Parece que ele apenas segue essa solicitação.method == "POST" e imprime nome de usuário e senha imediatamente, o que significa que ele está definindo nome de usuário e senha imediatamente, tornando qualquer tentativa de login errada. Mas eu não quero que ele os defina (ou os imprima) até que eu tenha pressionado o botão na próxima página. Além disso, quando clico em "enter" ou "log in", ele não mostra novamente a página com a mensagem de erro, ele apenas retorna login_or_join(). Sinto que estou tomando pílulas malucas, pois estou trabalhando neste site há um tempo e esta é a primeira vez que estou tendo esse tipo de problema. Tentei mexer com ele, mas sinto que estou olhando para ele há muito tempo. Qualquer ajuda seria apreciada!