1 闪现
错误信息放个位置----》另一个请求过来,去那个位置拿
def index():
s='xx错位了'
return redirect('/errors')
def errors():
return index.html
flash('aaa')
get_flashed_message()
flash('超时错误', category="x1")
data = get_flashed_messages(category_filter=['x1'])
from flask import Flask,flash,get_flashed_messages
app=Flask(__name__)
app.debug=True
app.secret_key='asdfasdfasdfa'
@app.route('/')
def index():
flash('超时错误', category="x1")
return 'xxx'
@app.route('/home')
def home():
name=get_flashed_messages(category_filter=['x2'])
print(name)
return 'home'
@app.route('/order')
def order():
data = get_flashed_messages(category_filter=['x1'])
print(data)
return 'home'
if __name__ == '__main__':
app.run(port=8080)
-暂时存数据
-当次请求出错了,下次请求要显示这个错误
2 请求扩展
-请求来了,请求走了,做一些拦截
1 before_request
2 after_request
3 before_first_request
4 teardown_request
5 errorhandler
6 template_global
7 template_filter
before_request
@app.before_request
def before():
print('1111')
@app.before_request
def before2():
print('2222')
after_request
@app.after_request
def after2(response):
print('走了走了222')
return response
@app.route('/')
def index():
return 'xxx'
before_first_request
teardown_request
@app.teardown_request
def ttt(e):
print(e)
print('来了老弟')
if e:
return '出异常了'
errorhandler
@app.errorhandler(404)
def error(e):
print(e)
print('xxx')
return render_template('error.html')
@app.errorhandler(500)
def error1(e):
print(e)
print('500')
return jsonify({'code': 999, 'msg': '服务器内部错误,请联系系统管理员'})
template_global全局标签
@app.template_global()
def add(a1, a2):
return a1 + a2
template_filter全局过滤器
@app.template_filter()
def db(a1, a2, a3):
print(a1)
return a1 + a2 + a3
<h2>使用全局标签</h2>
{{add(4,5)}}
<h2>使用全局过滤器</h2>
{{4|db(5,6)}}
4 g对象
-g只针对于当次请求
-session可以跨请求
g.name = 'tom'
print(g.name)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)