FlaskURL路径不工作

2024-09-28 19:01:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我开始像以前那样创建一个非常简单的Flask应用程序,我得到了一个404错误,它完全超出了我的想象。我的目录结构如下:

Site/
----static/
--------css/
------------css files
--------img/
------------image files
----templates/
--------contact.html
--------index.html
app.py

我遇到的问题是索引.html带您进入联系人.html第页。在

^{pr2}$

这个按钮将带您进入联系人页面,它的工作方式与我在VSCode中使用liveserver时完全一样。问题是当我试图在Flask本地服务器中转到这个页面时。给你应用程序副本公司名称:

from flask import Flask, render_template

app = Flask (__name__)
app.debug = True

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

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



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

我一直遵循这个基本语法来路由到页面,它一直有效到现在,我不明白为什么我得到404错误。我试着在应用程序路径清除我的浏览器缓存,以防它是一个重定向错误,仍然没有。当我在liveserver和Flask中打开联系人页面并将它们放在一起时,它们在不同的本地主机端口上具有完全相同的url。我错过了什么?在


Tags: nameapp应用程序flaskindexhtml错误contact
3条回答

您的路线名为contact,但您的链接是contact.html。这些名字必须相同。在

试试以下方法:

@app.route('/contact.html')

或者

^{pr2}$

正如其他地方指出的,建议的用法是url_for()

<a href={{url_for('contact')}}>Contact</a>

不要使用联系人.html只有以下路由名称。在

<a href="{{ url_for('app.contact') }}">Contact</a>

意思是。。。在

^{pr2}$

您不需要在href路由中提供文件名:

<a href="/contact">Contact</a>

相关问题 更多 >