作者:Vimiix
借助findmodules,importstring优雅地注册蓝图模块
使用Flask中的flash闪存传递反馈信息
使用Flask中内置日志系统发送错误日志邮件
提前中断请求返回错误码,并定制相应错误页面
借助 , 优雅地注册蓝图模块
, 这两个函数包含在 工具包中,借助着两个工具函数可以帮助我们在更优雅的给应用注册 模块,尤其是当项目中 模块很多的时候,会节省很多行代码,看起来更加的舒服。
importstring(importname, silent=False)
import_string 可以通过字符串导出需要导入的模块或对象:
参数
import_name:要导入的对象的模块或对象名称
silent:如果设置为True,则忽略导入错误,相反则返回None
findmodules(importpath, include_packages=False, recursive=False)
找到一个包下面的所有模块,这对于自动导入所有蓝图模块是非常有用的
参数
import_path:包路径
include_packages:如果设置为True,会返回包内的子包
recursive:是否递归搜索子包
示例代码
blueprints/example.py
app.py
使用Flask中的flash闪存传递反馈信息
flask的闪存系统主要是用来想用户提供反馈信息。内容一般是对用户上一次请求中的操作给出反馈。反馈信息存储在服务端,用户可以在本次(且只能在本次)请求中访问上一次的反馈信息,当用户获得了这些反馈信息以后,就会被服务端删除。Flask为jinja2开放了一个 函数来获取上一次的闪存信息,这个函数可以直接在模板中使用。
参数
with_categories:True返回元祖,False返回消息本身
category_filter:过滤分类关键词(字符串或列表)
后台当请求结束准备返回的时候,使用 函数来为下次请求保存一条反馈信息。
参数
message:信息文本
category:自定义分类关键词
官方示例代码]6使用Flask中内置日志系统发送错误日志邮件
Flask使用python内置的日志系统,它实际上可以发送错误邮件。
示例代码:
还可以更进一步,将错误日志格式化,方便阅读:
关于SMTPHandler的介绍,访问官网SMTPHandler手册
提前中断请求返回错误码,并定制相应错误页面
在Flask中我们能够用 函数重定向用户到其它地方。还能够用 函数提前中断一个请求并带有一个错误代码。
示例代码
配合Flask提供的 装饰器定制自己的相应错误界面
注意到 是在 调用之后。告诉 Flask 该页的错误代码应是 , 即没有找到。
题图:pexels,CC0 授权。
领取专属 10元无门槛券
私享最新 技术干货