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

Usuario Não Logado

Eu fiz as alterações no codigo como devido a ultima aula e fica assim, mesmo colocando o usario e senha corretos, vou deixar aqui o codigo da .py pra quem quiser me ajudar

from flask import Flask, render_template, request, redirect, session, flash, url_for

class Jogo: def init(self, nome, categoria, console): self.nome = nome self.categoria = categoria self.console = console

jogo1 = Jogo('Tetris', 'Puzzle', 'Atari') jogo2 = Jogo('God of War', 'Hack n Slash', 'PS2') jogo3 = Jogo('Dota 2', 'Moba', 'PC') lista = [jogo1, jogo2, jogo3]

class Usuario: def init(self, nome, nickname, senha): self.nome = nome self.nickname = nickname self.senha = senha

usuario1 = Usuario("Pedro", "PRS", "alohomora") usuario2 = Usuario("Axe", "Maxado", "welcometoaxe") usuario3 = Usuario("José", "Zé", "Zezé")

usuarios = { usuario1.nickname : usuario1, usuario2.nickname : usuario2, usuario3.nickname : usuario3 } app = Flask(name) app.secret_key = 'alura'

@app.route('/') def index():

return  render_template('lista.html', titulo='Jogos', jogos=lista)

@app.route('/novo') def novo(): if 'usuario_logado' not in session or session ['usuario_logado'] == None: return redirect(url_for('login', proxima=url_for('novo'))) return render_template('novo.html', titulo='Novo Jogo')

@app.route('/criar', methods=['POST',]) def criar(): nome=request.form['nome'] categoria=request.form['categoria'] console=request.form['console'] jogo = Jogo(nome,categoria, console) lista.append(jogo) return redirect(url_for('index'))

@app.route('/login') def login(): proxima = request.args.get('proxima') return render_template('login.html', proxima=proxima)

@app.route('/autenticar', methods=['POST']) def autenticar(): if request.form['usuario'] in usuarios: usuario = usuarios[request.form['usuario']] if request.form['senha'] == usuario.senha: session['usuario_logado'] = usuario.nickname flash(usuario.nickname + 'logado com sucesso!') proxima_pagina = request.form['proxima'] return redirect(proxima_pagina) else: flash('Usuario Não Logado!!') return redirect(url_for('login'))

@app.route('/logout') def logout(): session['usuario_logado'] = None flash('Logout Efetuado com Sucesso!') return redirect(url_for('index'))

app.run(debug=True)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Fui Ler os Tópicos e percebi que no codigo pede pra utilizar o .nickname para fazer login, não o usuario, irei corrigir a falta de antenção ksks