1
resposta

Não consegui criar novo jogo na lista

Aparece a seguinte mensagem: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

OBS.: Essa mensagem aparece na hora que tento criar o jogo "Rayman".

from flask import Flask, render_template, request

app = Flask(__name__)

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

jogo1 = Jogo('Super Mario', 'Ação', 'SNES')
jogo2 = Jogo('Pokemon Gold', 'RPG', 'GBA')
jogo3 = Jogo('Mortal Kombat', 'Luta', 'SNES')
lista = [jogo1, jogo2, jogo3]

@app.route('/inicio')
def ola():
    return render_template('lista.html', titulo='Jogos', jogos=lista)

@app.route('/novo')
def 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 render_template('lista.html', titulo='Jogo', jogos=lista)

app.run()
1 resposta

Oii Allan, como você está?

Peço desculpas pela demora em obter um retorno.

A mensagem "The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again." geralmente ocorre quando tentamos acessar alguma rota que não foi configurada. Por exemplo, imagine que temos configurada a seguinte rota:

@app.route("/inicio")
def index():
  return render_template('index.html')

Ao acessarmos o a rota de endereço http://localhost:5000/inicio no navegador veremos o conteúdo do arquivo index.html:

Porém, se tentarmos acessar uma rota que não foi configurada, como por exemplo: http://localhost:5000/cursos, veremos a mensagem The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. , como mostro na imagem abaixo:

Com o código que você disponibilizou, ao acessar a rota http://localhost:5000/novo foi possível ver o conteúdo da página e criar um novo jogo. Verifique se ao colocar o endereço no navegador você está acessando uma rota que foi definida, caso contrário você irá se deparar com a mensagem dizendo que o servidor não encontrou aquela rota, pois, é necessário que a rota esteja escrita exatamente do jeito que foi definido no código.

Qualquer dúvida estou por aqui.

Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software