一、Flask基础
- 配置文件
app.config.from_object('') #导入大写的方法
-
路由系统
-
视图
-
请求相关
-
响应
-
模板渲染
-基本数据类型,可以执行Python语法。如 : dict.get
-传入函数
1-django自动执行
2-flask自动执行
-全局定义的函数
-模板继承
1-{% extends " " %}
2-{% include " " %}
-宏(不常用)
1-自定义函数 {% macro def () %} {% endmacro %}
-安全
1-前端 {{ u | safe }}
2-后端 MarkUp(‘前端代码’) -
session
-当请求刚进来时:flask读取cookie中session的值,将该值解密并反序列化成字典,放入内存,以便视图函数使用。
-当请求结束时:flask会读取内存中字典的值,进行序列化+加密,并写入用户的cookie中。 -
闪现(session中数据取一次就没了)
-导入flash和get_flashed_messages,在session中存储一个数据,读取时通过pop将数据移除
(1)存储数据 flash(‘临时储存数据’) 可以对flash进行分类
(2)取数据 get_flashed_messages() -
中间件
(1)call方法什么时候触发?
-用户发起请求时,才执行,启动服务器时,不执行 -
蓝图(blueprint)
-
特殊装饰器
(1)before_request 请求进来先执行 可以有多个被装饰的函数 ,谁先定义先执行
(2)after_request 响应前执行 也可以有多个被装饰的函数 , 谁后定义先执行
————如果被before装饰的有返回值,则不执行视图函数,after函数全部执行
特殊before_first_request 启动程序后,第一次请求执行,以后请求不执行
(3)template_global 视图函数中全局template使用
(4)template_filter
需要 @app.template_global()装饰器
def func(a,b,c) --->> 全局temlate使用 {{func(a,b,c)}}
和 @app.template_filter()装饰器
def func(a,b,c) --->> 全局temlate使用 {{a|filter(b,c)}} # 需要管道符
(5)errorhandler(404)
def notfound(arg): # 当页面不存在时,返回此页面。
print(arg)
return '没找到'