python - Flask 猜谜游戏无法正确响应

标签 python html flask

我正在努力解决以下问题。不知道发生了什么,但提交时我在网站上看不到任何反应。我尝试将最大和最小变量从函数内部移到外部。看起来猜测变量在这里没有正确使用,但我不知道发生了什么。

from flask import Flask, request, render_template

app = Flask(__name__)

minimum = 0
maximum = 1000
guess = int((maximum - minimum) / 2) + minimum

@app.route("/", methods=['POST', 'GET'])
def zadanie():
    global maximum
    global minimum
    global guess
    if request.method == 'POST':
        guess = int((maximum - minimum) / 2) + minimum
        odp = request.form['odp']
        if odp == 'Zgadłeś':
            render_template('Zadanie_3_1.html', g=f'WYGRAŁEM! Twoja liczba to {guess}')
        elif odp == 'Zadużo':
            maximum = guess
            render_template('Zadanie_3_1.html', g=f'Czy twoja liczba to: {guess}')
        elif odp == 'Zamało':
            minimum = guess
            render_template('Zadanie_3_1.html', g=f'Czy twoja liczba to: {guess}')
        else:
            render_template('Zadanie_3_1.html', g=f'NIE OSZUKUJ')
    return render_template('Zadanie_3_1.html', g=f'Zgaduje: {guess}')


if __name__ == "__main__":
    app.run(debug=True)

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Zadanie_3</title>
</head>
<body>
    <h1>Pomyśl liczbe od 0 do 1000</h1>
    <br>
    <h3>{{ g }}</h3>
    <form method="post" action="{{ url_for('zadanie') }}">
        <hidden></hidden>
        <p>
            <br>
            <label>
                <!--<input type="hidden" name="minimum" value="0">-->
                <!--<input type="hidden" name="maximum" value="1000">-->
                <input type="radio" name="odp" value="Zadużo">Za dużo</input> <br>
                <input type="radio" name="odp" value="Zamało">Za mało</input> <br>
                <input type="radio" name="odp" value="Zgadłeś">Zgadłeś</input> <br>
            </label>
        </p>
        <label>
            <input class="button" type="submit" value="Wyślij">
        </label>
    </form>
</body>
</html>

最佳答案

我花了一段时间,但我注意到在“POST”条件下在 render_template 之前添加的 return 解决了这个问题。

<小时/>
from flask import Flask, request, render_template, url_for

app = Flask(__name__)

minimum = 0
maximum = 1000


@app.route("/", methods=['POST', 'GET'])
def zadanie():
    global maximum
    global minimum
    guess = int(((maximum - minimum) / 2) + minimum)
    if request.method == 'POST':
        odp = request.form['odp']
        if odp == 'Zgadłeś':
            return render_template('Zgadywanie_liczb_3.html', g=f'WYGRAŁEM! Twoja liczba to {guess}')
        elif odp == 'Zadużo':
            maximum = guess
            guess = int(((maximum - minimum) / 2) + minimum)
            return render_template('Zgadywanie_liczb_3.html', g=f'Czy twoja liczba to: {guess}')
        elif odp == 'Zamało':
            minimum = guess
            guess = int(((maximum - minimum) / 2) + minimum)
            return render_template('Zgadywanie_liczb_3.html', g=f'Czy twoja liczba to: {guess}')
        else:
            return render_template('Zgadywanie_liczb_3.html', g=f'NIE OSZUKUJ')
    else:
        return render_template('Zgadywanie_liczb_3.html', g=f'Zgaduje: {guess}')


if __name__ == "__main__":
    app.run(debug=True)

关于python - Flask 猜谜游戏无法正确响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53731079/

相关文章:

html - 如何获得图中 img 和 figcaption 的正确大小

python - 将 url 参数从 Flask 传递到 Angular

python - 无法在 Google Cloud Platform 上的保留静态地址上查看 Flask 应用程序

python - Matplotlib:Draggable 不适用于使用 twinx() 生成的多个图例

html - 使用表格的 CSS 下拉菜单导航器

python Selenium : Getting dynamic content within iframe

嵌入 html 中的 Javascript 和大于/小于符号

python - 如何将数据从 flask 发送到html模板

python - 如何使用 twisted 监听多个 udp 端口​​?

python - 使用 re 转换列表 get 元素的最 Pythonic 方法