当“ render_template”尝试加载HTML页面时出现错误404

时间:2020-07-07 00:11:49

标签: html flask

我有一个index.html和一个demo.html。索引页面上有一个<a>标记,该标记链接到demo.html,但是单击该链接时,它将返回错误404。这些页面位于同一目录中,我已经重新启动了Flask服务器,确保没有该服务器。链接中的拼写错误等。还查看了此处提出的类似问题,并对照答案检查了我的代码,在我看来,它看起来还不错。知道我在这里做错了什么吗?

Index.html:

<a href="demo.html">Click here to drop your demo</a>

application.py:

@app.route("/")
def index():
    return render_template("/index.html")
    

@app.route("/demo")
def demo():
    return render_template("/demo.html")

enter image description here

1 个答案:

答案 0 :(得分:1)

templates文件夹可用于Flask应用程序中的渲染目的,例如在index()demo()视图中。除非应用程序定义了static_folder来直接从中提供文件,否则创建直接指向位于服务器上的文件而不是指向呈现模板的已定义路由的定位标记将无法正常工作。

您可以将demo.html从模板文件夹移动/复制到静态文件夹,但这可能不是您想要的。让锚标签引用呈现“ demo.html”的路由可能就是您要寻找的行为。

<a href="/demo">Click here to drop your demo</a>

or

<a href="{{ url_for('demo') }}">Click here to drop your demo</a>