【发布时间】:2020-11-21 02:39:41
【问题描述】:
我根据 localhost 的路径制作了一个石头、剪纸、剪刀游戏,即我将我的机器用作带有 Flask 的动态 Web 服务器。
我的游戏逻辑是正确的,已经过测试,所以当我在浏览器中输入http://localhost:5000/rock/paper 时,浏览器窗口中会返回以下字符串:
Player 1 chose: Rock Player 2 chose: Paper So, the winner is...Player 2
但是,我希望使用 result.html 模板将这些结果的路径更改为另一个名为 result 的新路径。即我可能需要@app.route('/result') 之类的东西来定义新路线。目前,我可能不得不保留/rock/paper 路线,因为这是我目前确定游戏结果的数据输入方式。
我当前动态路径的代码如下 - 我有一个游戏类,它需要 2 个玩家和一个玩家类,它定义了一个可以选择石头/纸或剪刀的玩家:
@app.route('/<choice_1>/<choice_2>')
def play_the_game(choice_1, choice_2):
player_1 = Player("Player 1", choice_1)
player_2 = Player("Player 2", choice_2)
game = Game(player_1, player_2)
winner = game.play_game()
return "Player 1 chose: " + choice_1.title() + " " + " Player 2 chose: " + choice_2.title() + " " + " So, the winner is..." + winner
但是将结果路由到新模板并不像:
@app.route('/result') = @app.route('/<choice_1>/<choice_2>')
仅供参考,我的 results.html 文件的 HTML 不完整,如下所示。注意:我有一个 base.html 文件,该文件扩展为:
{% extends "base.html" %}
{% block content %}
<div>
<p>Game Results here:</p>
</div>
{% endblock %}
我们将不胜感激。
【问题讨论】:
标签: python python-3.x flask