本文实例讲述了Flask框架学习笔记之消息提示与异常处理操作。分享给大家供大家参考,具体如下: flask通过flash方法来显示提示消息: from flask import Flask, flash, render_template, request, abort app = Flask(__name__) app.secret_key = '520' @app.route('/') def index(): flash(Hello loli) return render_template(flash.html) flash模板:flask开放了get_flashed_m 在Flask框架中,消息提示和异常处理是两个重要的功能,它们帮助开发者向用户传达操作状态和处理系统中出现的问题。下面将详细讲解这两个概念及其使用方法。 **消息提示** 在Flask中,我们通常使用`flash`函数来实现消息提示。`flash`函数用于在视图函数中存储一条消息,然后在模板中通过`get_flashed_messages`函数获取并展示这些消息。下面是一个简单的例子: ```python from flask import Flask, flash, render_template, request app = Flask(__name__) app.secret_key = '520' @app.route('/') def index(): flash("Hello loli") return render_template("flash.html") ``` 在上面的例子中,`index`视图函数使用`flash`方法添加了一条消息,然后返回了渲染后的`flash.html`模板。模板中可以通过`get_flashed_messages()`获取并显示消息: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>Hello Login</h1> <h2>{{ get_flashed_messages()[0] }}</h2> </body> </html> ``` 当用户访问首页时,模板会显示“Hello loli”这条消息。 **表单处理与验证** 在处理表单数据时,我们可以结合`flash`函数来提供错误提示。例如,在登录场景中,如果用户没有输入用户名或密码,我们可以使用`flash`来提示用户: ```python @app.route('/login', methods=['POST']) def login(): form = request.form username = form.get('username') password = form.get('password') if not username: flash('Please input username') return render_template("flash.html") if not password: flash('Please input password') return render_template("flash.html") # ... 其他验证逻辑 ... ``` **异常处理** Flask通过`errorhandler`装饰器允许自定义错误页面。例如,要创建一个自定义的404错误页面,可以这样做: ```python @app.errorhandler(404) def not_found(e): return render_template("404.html") ``` 对应的404错误模板可以是这样的: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>404 页面不存在</h1> <h2>Sorry</h2> </body> </html> ``` 此外,我们可以使用`abort`函数来手动引发错误,例如当用户ID不为520时,触发404错误: ```python @app.route('/users/<user_id>') def users(user_id): if int(user_id) == 520: return render_template("user.html") else: abort(404) ``` **总结** Flask框架中的消息提示和异常处理机制为开发者提供了强大的工具,帮助他们更有效地与用户交互,同时也能优雅地处理系统错误。通过`flash`函数,可以方便地在视图和模板之间传递消息,提供操作反馈。而`errorhandler`装饰器使得自定义错误页面变得简单,提高了用户体验。理解并熟练运用这些功能,能够提升Flask应用的健壮性和用户体验。
- 粉丝: 3
- 资源: 918
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 桌球台球检测6-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- js图片轮播.zip
- 6种创意css按钮样式
- div卡片样式切换特效.zip
- jQuery左侧导航右侧tab页面切换.zip
- 图标文字网格布局div+css样式代码.zip
- 纯css网页背景加载中布局.zip
- 彩色边框创意div层样式.zip
- stm32学习时的代码
- 桌球台球检测9-YOLO(v5至v11)数据集合集.rar
- stm32的两万字笔记
- 单片机+人体红外感应的防盗系统设计(仿真+源码+PCB文件+报告)
- 2023-04-06-项目笔记 - 第三百五十六阶段 - 4.4.2.354全局变量的作用域-354 -2025.12.23
- 400w微型逆变器, 基于stm32g474实现 设计方案,不是成品 带有源代码、原理图(AD)、PCB(AD)
- 森林大火检测28-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- VBA视频教程 0001