补充:一个编程思路 需求:做一些邮件短信微信的消息通知,比如账单告警之类的:比如数据库操作,数据库种类繁多:缓存的选择比如redis/memcache,诸如此类需要进行选择配置,如果我们单纯的用函数去实现就要进行判断,选择越多判断就要越多,显然这种写法是不行的,那么由此我们就想到了django的中间件的配置,只需要在配置文件中写上路径就可以了,还有restframework中我们只要在配置文件中写上一些的组件的路径或者名称就可以使用了,我们就可以用这种思路来解决开始的问题 总的流程:我们可以把不…
请求响应 flask的请求信息都在request里 flask的响应方式有四剑客,也可以自定义响应 请求相关信息 # request.method 提交的方法 # request.args get请求提及的数据 类似字典类型 # request.form post请求提交的数据 类似字典类型 # request.values post和get提交的数据总和 类似字段类型 # request.cookies 客户端所带的cookie # request.headers 请求头 # request.…
session 除请求对象之外,还有一个session对象.它允许你在不同请求储存特定用户的信息.它是在Cookies的基础上实现的,并且对,Cookies进行密钥签名要使用会话,你需要设置一个密钥. (app.session_interface对象) 使用必须先设置一下密钥:app.secret_key = 'xxxx' session['name'] = 'xxx' #放值 session['name'] # 取值 源码执行流程 1.save_session -- 响应的时候,把sessio…
今日内容概要 请求扩展 蓝图 g对象 内容详细 1.请求扩展 # 在请求来了,请求走了,可以做一些校验和拦截,通过装饰器来实现 7 个 # 1 before_request 类比django中间件中的process_request,在请求收到之前绑定一个函数做一些事情 # 2 after_request # 3 before_first_request # 4 teardown_request # 5 errorhandler # 6 template_global # 7 template_f…
目录 1.flask请求与响应 2.闪现 3.请求扩展 4.中间件 5.LOCAL对象 6.偏函数 templates 1.flask请求与响应 from flask import Flask,request,make_response,render_template app = Flask(__name__) @app.route('/login.html', methods=['GET', "POST"]) def login(): # 请求相关信息 # request.metho…
本篇主要内容: 闪现 请求扩展 中间件 蓝图 写装饰器,常用 functools模块,帮助设置函数的元信息 import functools def wrapper(func): @functools.wraps(func) def inner(*args,**kwargs): return func(*args,**kwargs) return inner @wrapper def f1(): pass print(f1.__name__) # f1 续接第一篇 8.Flask之闪现 # 首先…
message -设置:flash('aaa') -取值:get_flashed_message() -假设在a页面操作出错,跳转到b页面,在b页面显示a页面的错误信息 1 如果要用flash就必须设置app.secret_key = 'asdfasdf' 2 特点:存了,你可以在任意一次请求中获取,但是一旦取了一次,就没有了.这里的一次指的是在同一个路径下请求一次 3 我们可以使用 flash('普通信息',category="info"),通过category对信息做分类 4get…
Flask框架(三)—— 请求扩展.中间件.蓝图.session源码分析 目录 请求扩展.中间件.蓝图.session源码分析 一.请求扩展 1.before_request 2.after_request 3.before_first_request 4.teardown_request 5.errorhandler 6.template_global 7.template_filter 二.中间件 三.蓝图(blueprint) 1.不使用蓝图,自己分文件 2.使用蓝图之中小型系统 3.使用…
Flask 的 请求扩展 与 中间件 flask 可以通过 扩展(装饰器)来实现类似于django 中间件的功能 类似于django 的中间件, 在执行视图函数之前, 之后的执行某些功能 1 @app.before_first_request 执行一次,第一次请求结束,在第一批函数执行后 就不再执行(状态改为False) @app.before_first_request def before_first_request1(): print('before_first_request1') 2…
1.1.Flask之请求扩展 #!/usr/bin/env python # -*- coding:utf-8 -*- from flask import Flask, Request, render_template app = Flask(__name__, template_folder='templates') app.debug = True @app.before_first_request def before_first_request1(): print('before_fir…