处理 Flask 中的 404 错误
先决条件:在 Flask 中创建简单的应用程序
每当找不到页面时,就会显示 404 错误。也许所有者更改了其 URL 并忘记更改链接,或者他们删除了页面本身。每个站点都需要一个自定义错误页面,以避免用户看到默认的丑陋错误页面。
GeeksforGeeks 还有一个自定义的错误页面。如果我们键入一个 URL,例如
www.geeksforgeeks.org/ajneawnewiaiowjf
默认 404 错误
GeeksForGeeks 自定义错误页面
由于此 URL 不存在,它将显示错误 404 页面。但是错误页面提供了漂亮的布局,帮助用户返回,甚至在特定时间间隔后将他们带到主页。这就是为什么每个网站都需要自定义错误页面。
Flask 为我们提供了一种处理错误并返回自定义错误页面的方法。
为此,我们需要下载并导入flask。通过 CMD 上的以下命令下载烧瓶。
pip install flask
使用 app.py 作为我们的Python文件来管理模板,404.html 是我们将在 404 错误的情况下返回的文件,header.html 是带有网站标题和导航栏的文件。
应用程序.py
Flask 允许我们创建一个Python文件来定义所有的路由和函数。在 app.py 中,我们定义了到主页('/')的路由和错误处理函数,这是一个烧瓶函数,我们将 404 错误作为参数传递。
from flask import Flask, render_template
app = Flask(__name__)
# app name
@app.errorhandler(404)
# inbuilt function which takes error as parameter
def not_found(e):
# defining function
return render_template("404.html")
每当用户打开损坏的链接时,上述Python程序将返回 404.html 文件。
404.html
以下代码从 header.html 导出标题和导航栏。
根据烧瓶,这两个文件都应存储在模板文件夹中。
{% extends "header.html" %}
{% block title %}Page Not Found{% endblock %}
{% block body %}
Oops! Looks like the page doesn't exist anymore
Click Here
To go to the Home Page
{% endblock %}
5秒后自动跳转到首页
此示例的 app.py 代码与上面相同。
以下代码显示自定义 404 错误页面并开始 5 秒倒计时。
5 秒后,它会将用户重定向回主页。
404.html
以下代码从 header.html 导出标题和导航栏。
根据烧瓶,这两个文件都应存储在模板文件夹中。
5 秒后,用户将自动重定向到主页。
Page Not Found
{% extends "header.html" %}
//exporting navbar and header from header.html
{% block body %}
{% endblock %}
示例 header.html
这是一个示例 header.html,其中包含一个导航栏,如图所示。
它由引导程序组成。你也可以自己做一个。
对于这一点,请参阅引导文档。
Flask
{%block body%}
{%endblock%}
输出:
输出将是用户导出的带有 header.html 的自定义错误页面。
以下是我的自定义页眉、页脚和 404.html 文件的示例输出。