📜  Python | Flask中404的错误处理

📅  最后修改于: 2020-04-09 01:54:04             🧑  作者: Mango

每当找不到页面时,都会显示404错误。所有者可能更改了它的URL并忘记了更改链接,或者他们删除了页面本身。每个站点都需要一个“自定义错误”页面,以避免用户看到默认的“丑陋错误”页面。
芒果文档还具有自定义的错误页面。如果我们输入网址,例如
www.imangodoc.com/9999.html
默认404错误

芒果For芒果自定义错误页面

由于此URL不存在,它将显示错误404页面。但是错误页面提供了漂亮的布局,可以帮助用户在特定时间间隔后返回甚至将其带到首页。这就是为什么每个网站都需要“自定义错误”页面的原因。
Flask为我们提供了一种处理错误并返回“自定义错误”页面的方法。
为此,我们需要下载并导入flask。通过CMD上的以下命令下载flask。

pip install flask

使用app.py作为我们的Python文件来管理模板,404.html是发生404错误时将返回的文件,header.html是具有网站标头和导航栏的文件。

Flask允许我们制作一个Python文件来定义所有路由和函数。在app.py中,我们定义了到主页(‘/’)的路由和错误处理程序函数(这是一个flask函数),并传递了404错误作为参数。

from flask import Flask, render_template
app = Flask(__name__)
# app名称
@app.errorhandler(404)
# inbuilt function which takes error as parameter
def not_found(e):
# 定义函数
  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 HereTo go to the Home Page

{% endblock %}

5秒后自动重定向到主页

此示例的app.py代码与上面相同。
以下代码显示“自定义404错误”页面,并开始倒计时5秒。
5秒完成后,它将用户重定向回首页。

404.html
以下代码从header.html导出标头和导航栏。
两个文件都应根据flask存储在模板文件夹中。
5秒钟后,用户将自动重定向到主页



Page Not Found


{% extends "header.html" %}
//exporting navbar and header from header.html
{% block body %}
 

{% endblock %}

示例header.html
这是一个示例header.html,其中包括导航栏,如图像中所示。
它由引导程序组成。您也可以自己制作一个。
有关这一内容,请参阅引导文档。

输出:
输出将是带有用户导出的header.html的自定义错误页面。