南昌市建网站的公司,方案解决网站,17一起做网店,网课如何推广闪现
# 一个请求---》假设出错了---》重定向到另一个地址---》把错误信息在另一个返回中看到
错误信息放个位置----》另一个请求过来#xff0c;去那个位置拿
# 把一些数据#xff0c;放在某个位置---》后期可以去取出来----》取完不用删除#xff0c;就没了
def index():s…闪现
# 一个请求---》假设出错了---》重定向到另一个地址---》把错误信息在另一个返回中看到
错误信息放个位置----》另一个请求过来去那个位置拿
# 把一些数据放在某个位置---》后期可以去取出来----》取完不用删除就没了
def index():sxx错位了return redirect(/errors)def errors():return index.html# 如何设置
flash(aaa)
# 如何取
get_flashed_message()# 分类放
flash(超时错误, categoryx1)
# 分类取
data get_flashed_messages(category_filter[x1])
from flask import Flask,flash,get_flashed_messagesappFlask(__name__)
app.debugTrue
app.secret_keyasdfasdfasdfa
# 只要用闪现---》就要设置secret_key----》放到session中了app.route(/)
def index():# 放入我的名字# flash(lqz) # 放哪了# 分类放flash(超时错误, categoryx1)return xxx
app.route(/home)
def home():# 取出我的名字nameget_flashed_messages(category_filter[x2])print(name)return homeapp.route(/order)
def order():# 取出我的名字# nameget_flashed_messages()# print(name)data get_flashed_messages(category_filter[x1])print(data)# 按分类取return home
if __name__ __main__:app.run(port8080)
# 1 django 的message就是做这个事的
# 2 闪现有什么用-暂时存数据-当次请求出错了下次请求要显示这个错误
请求扩展
# 类似于django中的中间件-请求来了请求走了做一些拦截1 before_request2 after_request3 before_first_request4 teardown_request5 errorhandler6 template_global7 template_filter# before_request 每个请求来了都会走
before_request
# 请求来了执行---》process_request---可以下多个从上往下依次执行
app.before_request
def before():# 当次请求的对象就是request# 1 判断访问的不同路径# if request.path/:# print(我来了)# else:# print(访问其他路径)# 2 判断如果是跟路径向request对象中放个name其他不放# if request.path /:# request.name lqz# else:# print(访问其他路径)# 3 返回None会执行下一个请求扩展如果返回4件套直接就返回了不再往下执行了# if request.path/:# return 不让你访问# else:# print(访问其他路径)# 4 多个before_request从上往下执行print(1111)app.before_request
def before2():print(2222)after_request
app.after_request
def after2(response):print(走了走了222)return responseapp.route(/)
def index():# print(request.name)return xxx before_first_request
# 项目运行起来的第一次会执行以后再也不执行了
# 1.x可以2.x弃用了
teardown_request
# teardown_request 每一个请求之后绑定一个函数即使遇到了异常---》一般用来记录日志---不能做统一异常处理
app.teardown_request
def ttt(e):# 通过判断e是否为空记录日志print(e) # 出了异常e就是异常对象如果没有异常e就是Noneprint(来了老弟)if e:return 出异常了
errorhandler
## 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全局标签
# template_global 全局标签所有页面都可以用
app.template_global()
def add(a1, a2):return a1 a2
template_filter全局过滤器
# template_filter 全局过滤器
app.template_filter()
def db(a1, a2, a3):print(a1)return a1 a2 a3
g对象
# 请求来了在request中放个path后续的视图函数中都能拿到
# flask不建议向request对象中放变量建议使用g对象# g对象当次请求中放入的变量在当次请求中一直存在# global的缩写global# g和session的区别-g只针对于当次请求-session可以跨请求