Python武器库开发-flask篇之error404(二十七)

flask篇之error404(二十七)

首先,我们先进入模板的界面创建一个404的html页面

cd templates 
vim 404.html

在这里插入图片描述

404.html的内容如下:

<h1>error!!!</h1>

在 Flask 应用程序中,当用户访问一个不存在的页面的时候,会出现 404 错误。为了更好地处理这些错误,Flask 提供了以下两种方式:

  1. 使用 Flask 提供的错误处理机制

Flask 提供了一个 @app.errorhandler 装饰器,可以用于处理应用程序的错误。当应用程序出现错误时,可以使用该装饰器来显示一个自定义的错误页面。

以下是一个处理 404 错误的示例代码:

#!/usr/bin/env python3
from flask import Flask, render_template

app = Flask(__name__)

@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404
    
if __name__ == '__main__':
    app.run(debug=True)

在上面的代码中,@app.errorhandler(404) 装饰器用于处理 404 错误,render_template() 函数用于渲染一个自定义的模板页面并返回给用户。

我们保存代码,运行该脚本:

python3 app.py

在这里插入图片描述

任意浏览器输入URL http://127.0.0.1:5000/(任意错误的参数),则浏览器返回给我们一个error!!!的自定义的响应界面

在这里插入图片描述

  1. 使用 Flask-Bootstrap 扩展

Flask-Bootstrap 是一个为 Flask 提供前端框架 Bootstrap 支持的扩展。它提供了一个 bootstrap/base.html 模板文件,该文件用于渲染网页的基本结构,并包含了一些常用的 Bootstrap 样式和 JavaScript 库。

可以通过直接继承 bootstrap/base.html 模板文件来创建自定义的错误页面,如下所示:

{% extends 'bootstrap/base.html' %}

{% block title %}Page Not Found{% endblock %}

{% block content %}
<div class="container">
    <div class="jumbotron text-center">
        <h1>404</h1>
        <p>Page Not Found</p>
    </div>
</div>
{% endblock %}

在上面的代码中,extends 关键字用于继承 bootstrap/base.html 模板文件,title 块用于设置网页的标题,content 块用于设置网页的内容。

然后,在应用程序中,可以使用以下代码来注册处理 404 错误的页面:

#!/usr/bin/env python3
from flask import Flask, render_template
from flask_bootstrap import Bootstrap

app = Flask(__name__)
bootstrap = Bootstrap(app)

@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404
    
if __name__ == '__main__':
    app.run(debug=True)

以上就是处理 Flask 中 404 错误的两种方式。用户可以根据自己的需求选择一种或多种方式来处理错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/166890.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode【32】最长的有效括号

题目&#xff1a; 思路&#xff1a; 括号字符串依次入栈&#xff0c;删除匹配的成对括号。最后栈中留下的都是无法匹配的断点。这些断点的差值减一就是断点间有效括号串的长度&#xff0c;取这些长度的最大值即可。 例如括号字符串 “)()((())(”&#xff0c;最后留在栈中的…

2023初中生古诗文大会复赛12月2日举行,来做做全真在线模拟题吧

2023年11月19日日&#xff0c;上海市古诗文大会主办方通过官微发布了2023上海中学生古诗文大会&#xff08;初中组&#xff09;复选将于12月2日举行的通知&#xff0c;就初中生古诗文大会复赛&#xff08;复选&#xff09;的相关安排做了说明&#xff0c;六分成长已经为您把通知…

ASUS华硕ROG幻13笔记本电脑GV301QE原厂Windows10系统

链接&#xff1a;https://pan.baidu.com/s/1aPW0ctRXRNAhE75mzVPdTg?pwdds78 提取码&#xff1a;ds78 华硕玩家国度幻13笔记本电脑锐龙版Ryzen 7 5800HS,显卡3050 3050Ti,3060,3060Ti,3070,3070Ti 原厂W10系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办…

横向扩展统一存储备份解决方案的特点与优势

Infortrend 使企业能够实现高效和可靠的数据备份&#xff0c;确保业务不间断的运行&#xff0c;保护有价值的业务信息。用户可以依靠我们的存储解决方案实现恢复时间目标&#xff08;RTO&#xff09;和恢复点目标&#xff08;RPO&#xff09;&#xff0c;用于广泛的备份应用场景…

6.10二叉树的所有路径(LC257-E,不太会)

算法&#xff1a; 前序遍历&#xff1a; 因为要让父节点指向孩子节点&#xff0c;才能输出路径。 递归与回溯相辅相成&#xff0c;只要有递归&#xff0c;就一定有回溯。 举个例子理解一下&#xff1a; 中&#xff1a;先push入1 左&#xff1a;再Push入2 右&#xff1a;再…

MES管理系统与ERP系统的实施顺序与决策

在现今的数字化时代&#xff0c;制造企业纷纷寻求通过先进的系统来提升运营效率。其中&#xff0c;ERP管理系统与MES管理系统被誉为是数字化转型的两大利器。然而&#xff0c;在推进这两个系统时&#xff0c;企业常常面临一个关键问题&#xff1a;究竟应该先实施哪一个系统&…

BetterDisplay Pro v2.0.11(显示器颜色校准软件)

BetterDisplay Pro是一款为Mac电脑设计的屏幕亮度调节软件&#xff0c;旨在提高显示器的色彩和亮度表现。它可以根据用户的需求和显示器的特性&#xff0c;自动调整显示器的亮度、色温、对比度等参数&#xff0c;以获得更加真实、舒适的视觉效果。 这款软件拥有智能调节功能&a…

基于C#实现最长公共子序列

一、作用 最长公共子序列的问题常用于解决字符串的相似度&#xff0c;是一个非常实用的算法&#xff0c;作为码农&#xff0c;此算法是我们的必备基本功。 二、概念 举个例子&#xff0c;cnblogs 这个字符串中子序列有多少个呢&#xff1f;很显然有 27 个&#xff0c;比如其…

微创机器人:CRM撬动售后服务数字化升级

一方面&#xff0c;我国医疗器械行业起步较晚&#xff0c;更注重产品的销售和业务的拓展&#xff0c;企业售后服务整体比较滞后。 另一方面&#xff0c;医疗器械售后服务环节数字化程度不足&#xff0c;一些企业仍通过传统的线下手段管理售后服务&#xff0c;进行数字化尝试的…

element UI表格中设置文字提示(tooltip)或弹出框(popover)时候注意的地方

在表格中自定义内容的时候需要使用标签&#xff0c;否则无法正常显示 文档中有两种写法&#xff1a;1、使用 slot“reference” 的具名插槽&#xff0c;2、使用自定义指令v-popover指向 Popover 的索引ref。 使用tooltip 时用具名 slot 分发content&#xff0c;替代tooltip中…

SIMULIA-Simpack 2022x新功能介绍

通用功能 增加库伦摩擦类型 力元95 Coulomb Friction增加了3种新的摩擦方向类型用于模拟平面、圆柱和球面摩擦。 针对平移和旋转摩擦改进了滑动到粘着过渡阶段的检测&#xff0c;增加一个参数定义两种不同的滑移-粘滞过渡模式&#xff0c;即“Unloaded stick stiffness”和“…

Ultipa Transporter V4.3.22 即将发布,解锁更多易用功能!

Ultipa Graph 作为一款领先的实时图数据库分析平台&#xff0c;即将发布最新版的数据导入/导出工具Ultipa Transporter V4.3.22 以实现对 Neo4j数据源的导入支持。自今年以来&#xff0c;Ultipa Transporter不断增加新功能&#xff0c;除原本支持本地CSV文件导入导出外&#xf…

代码逻辑修复与其他爬虫ip库的应用

在一个项目中&#xff0c;由于需要设置 http_proxy 来爬虫IP访问网络&#xff0c;但在使用 requests 库下载文件时遇到了问题。具体表现为在执行 Python 脚本时&#xff0c;程序会阻塞并最终超时&#xff0c;无法正常完成文件下载。 解决方案 针对这个问题&#xff0c;我们可以…

基于C++实现循环赛日程表(分治算法)

一、问题描叙 设有n2^k个运动员&#xff0c;要进行网球循环赛。现在要设计一个满足以下要求的比赛日程表 每个选手必须与其他n-1个选手各赛一场每个选手一天只能赛一次循环赛一共进行n-1天 二、问题分析 按此要求可将比赛日程表设计成n行n-1列的表&#xff0c;在表中第 i 行…

【网络安全】国家专利局专利办理系统存在信息泄漏风险

今天在办理专利的时候&#xff0c;发现该系统存在严重的信息泄漏问题。 废话少说&#xff0c;贴图为证。 每一个都可以点开&#xff0c;查看身份证、港澳通信证扫描件&#xff0c;很清晰。 本人没找到可以反馈的渠道&#xff0c;微博被限流。 发此贴只为警醒相关主管部门和运…

Mac git查看分支以及切换分支

查看本地分支 git branch 查看远程仓库分支 git branch -r 查看本地与远程仓库分支 git branch -a 切换分支 git checkout origin/dev/js

JSP页面文本展示正常 但定义在java代码中的内容 输出在页面上会变成问号 问题解决

这里 我直接写在界面上的内容就是正常的 但是 java代码中定义的内容 就会变成问号 造成这个情况的原因可能是多样的 首先要确保JDK没问题 然后是 页面顶部配置 <% page language"java" contentType"text/html; charsetUTF-8" pageEncoding"UTF-…

NC Cloud uploadChunk文件上传漏洞复现

简介 NC Cloud是指用友公司推出的大型企业数字化平台。支持公有云、混合云、专属云的灵活部署模式。该产品uploadChunk文件存在任意文件上传漏洞。 漏洞复现 FOFA语法&#xff1a; app"用友-NC-Cloud" 访问页面如下所示&#xff1a; POC&#xff1a;/ncchr/pm/fb/…

unexpected end of stream on

SpringCloud使用FeignClient调用第三方接口报错unexpected end of stream on ; 解决方法&#xff1a; 1.检查服务器端口是否被占用 lsof -i:端口&#xff1b; 2.nacos添加超时配置&#xff1a;
最新文章