我有一个 Python Flask Web 应用程序。每当我通过 Chrome 浏览器访问任何端点时,都会调用一个请求来检索网页(这是预期的),但随后,Chrome 似乎会向Chrome 刚刚点击的同一端点GET发送一个后续请求。GETfavicon.ico
例如,我的应用程序在路线上暴露了以下端点/(如下所示):
# General Landing Page
@app.route('/')
def index():
return render_template("index.html", title="Home")
Run Code Online (Sandbox Code Playgroud)
当我使用 Google Chrome 访问此端点时,index.html页面返回得很好。但我的日志消息显示以下内容:
env FLASK_APP=app/routes.py flask run --port 5001
* Running on http://127.0.0.1:5001/ (Press CTRL+C to quit)
127.0.0.1 - - [18/Feb/2020 23:15:23] "GET / HTTP/1.1" 200 -
[2020-02-18 23:15:23,647] ERROR in app: Exception on /favicon.ico [GET]
Traceback (most recent call last):
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,/端点被命中并返回状态代码200 OK,但随后的调用会favicon.ico出错。如何处理这个问题?
这favicon.ico是用于显示在浏览器选项卡或书签上的图标的默认文件名。
如果您想放置一个图标,您可以使用该名称创建一个图标favicon.ico并将其放在static应用程序的目录中。并在您的 html 文件中放置一个链接标记。
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
Run Code Online (Sandbox Code Playgroud)
请点击此链接以获取 Flask 文档的更多信息。
如果您想跳过此请求,请遵循此问题GET