我是flask和python的新手,我试图使用渲染模板功能打开一个URL。 404错误一直显示而不是模板文件夹中的HTML。
我的文件夹结构如下:
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/profile/<name>")
def profile(name):
return render_template("profile.html", name=name)
if __name__ == "__main__":
app.run()
我的main.py文件中的代码如下:
<!doctype html>
<title>sambit's page</title>
<h3>Wassup {{ name }} </h3>
我的profile.html文件包含以下代码:
It works fine when running directly on the shell
我一直在摸着头四个多小时。请帮助!!!!
答案 0 :(得分:4)
您是否尝试使用/profile/myname/
或/profile/myname
进行访问?
由于路径定义没有尾部斜杠,如果您在浏览器中使用尾部斜杠访问该路径,Flask将抛出404。在此处阅读更多内容:Doc
虽然它们看起来很相似,但它们在URL定义中对尾部斜杠的使用有所不同。在第一种情况下,项目端点的规范URL具有尾部斜杠。从这个意义上说,它类似于文件系统上的文件夹。在没有尾部斜杠的情况下访问它将导致Flask重定向到带有斜杠的规范URL。 但是,在第二种情况下,URL的定义没有斜杠,而是类似UNIX类系统上文件的路径名。使用尾部斜杠访问URL将产生404“未找到”错误。