Это смущает. Я работаю над сайтом игры fla sh в flask, и все шло довольно хорошо, пока на самом деле не загрузилась игра fla sh на сайт. По какой-то причине игра не может найти файл .swf, выдает ошибку 404.
Это основное содержимое файла шаблона. Его местоположение - myproject / templates / game. html:
<h1>Game success! {{gamedictionary["name"]}}</h1>
<object width="{{gamedictionary['width']}}" height="{{gamedictionary['height']}}">
<param name="movie" value="{{gamedictionary['game_file']}}">
<embed src="{{gamedictionary['game_file']}}" width="{{gamedictionary['width']}}" height="{{gamedictionary['width']}}">
</object>
gamedictionary - словарь, переданный запросом, который содержит все данные игры, такие как имя, идентификатор, ширина и высота игры fla sh и, самое главное, это расположение файла. Для redball словарь выглядит так:
{
"id": "redball1",
"name": "Red Ball",
"game_file": "../resources/game_files/redball1.swf",
"icon_file": "../resources/icon_files/redball1.png",
"desc": "Red Ball is a fun game!",
"width": 786,
"height": 571.63
}
Я не думаю, что здесь ошибка, но если это помогает, то это функция запроса app.py, которая возвращает игру. html template:
@app.route('/game/<string:gameid>')
def game(gameid):
for gamedictionary in mother_data:
if gamedictionary["id"] == gameid:
print("Found match!")
return render_template("game.html", gamedictionary=gamedictionary)
else:
return render_template("404.html")
(app.py находится в myproject / app.py)
for l oop проходит через mother_data, которая представляет собой массив всех словарей игровых данных , и если идентификатор словаря совпадает с URL-адресом запроса (это соответствующая игра), то он возвращает шаблон game. html и передает gamedictionary, который содержит все данные, как показано в приведенном выше фрагменте кода.
Вот где возникает проблема. Глядя на окончательный рендеринг html, все остальные игровые данные загружаются нормально. Название игры, ширина и высота фрейма sh, все работает. Проблема в том, что игра не может найти файл. Он возвращает эту ошибку в консоли.
:5000/resources/game_files/redball1.swf:1 Failed to load resource: the server responded with a status of 404 (NOT FOUND)
Что мне исправить, чтобы он нашел файл redball1.swf и загрузил игру? Пожалуйста, будьте осторожны, я давно не программировал на flask, и даже тогда я был только новичком. Если вам нужна дополнительная информация, я с радостью предоставлю ее и отвечу на любые вопросы по другим частям кода. Спасибо за помощь!