我已经开始学习烧瓶,当我 运行 我的 home.html 并提交表格时,它显示您的文件无法访问。对于后端,我使用了烧瓶

I have started learning flask and when I run my home.html and submit a form then it gives your files can't be accessed. For backend I have used flask

这是我的rule.html

<!DOCTYPE html>
<html>
    <head>
        <title>rules</title>
    </head>
    <body>
        <H1>Have fun and enjoy {{name}}</H1>
        <p>So there are some rules that will help you to play this game.</p> 
    </body>
</html>

这是主页 html 代码。请帮助,我看到了教程,但没有得到任何东西。

<!DOCTYPE html>
<html>
    <head>
    <title> Home</title>
    </head>
    <body>
        <h1>Welcome to guess the game!!</h1>
        <form method="post" action="/rule">
            <h3>So, what is your name":</h3>
            <input type="text" name="user">
            <input type="submit" value="submit" >
        </form>
    </body>

这是我的 python 代码。

from flask import Flask,render_template, request, redirect, url_for
app= Flask(__name__)

@app.route('/')
def home():
    return render_template('home.html')


@app.route('/rule', methods=["POST","GET"])
def rule():
    if request.method=="POST":
        user=request.form["user"]
        print(user)
        return redirect(url_for("user",usr=user))
    else:
        return render_template("rule.html")

@app.route("/<usr>")
def user(usr):
    return render_template("rule.html",name=usr)

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

抱歉有这么多代码。但我需要帮助。

我的 os 是 window 8.1,python -> 3.7.1,flask->1.1.1,werkzeug->1.0.1

error page

当我查看您的错误页面时,您的浏览器似乎试图访问 D:/rule - 这不应该由文件系统提供,而是由 Flask 提供。

您需要访问您的应用程序,例如作为 localhost:5000/home.html 然后它应该工作。

对我来说,您似乎直接从文件系统访问浏览器中的 html 文件。

首先,您需要 运行 您的应用程序,例如 python main.py,其中 main.py 是您的应用程序的文件名。

然后输入您在控制台中看到的 URL 并附加 home.html - 它应该可以工作了。