flask-基础知识
CBV样式
CBV样式 PS:在cbv里不能用装饰器调用,只能用add_url_rule方法调用 class IndexViews(views.MethodView): method=['POST'] #方法固定只能用post方法, decoretors=[auth,] #给所有这个类里的方法,加上auth装饰器,列表里可以加多个 def get(self): #这里指的是GET方法 return 'get' def post(self): #这个是post方法 return 'post' app.add_url_rule('/index',view_func=IndexViews.as_view('counter')) view_func里面填的IndexViews是这个类的名称,在as_view里面填是
to_dict
to_dict(),变成字典 from urllib.parse import urlencode,unquote urlencode接收一个字典, urlencode(dict)把dict变成GET请求路径形式 unquote()可以把路径的中文字符变回原来的中文字符
取值
4,query_string传过来的数据是以个原生的url路径. 5,jsonify():返回的是json格式的字符串. 6,利用make_response,可以对结果加上set_cookie.headers,del_cookie等操作
模板语法
7,模板语言, 用法python的普通用法一样,在模板里面调用函数的时候要加上(), 也可以在里面用上get方法 flask里面的Markup相当于django的mark_safe 8,模板语法,模板里面可以直接调用视图函数里的函数. def func(a1,a2): return a1+a2 9,把一个函数全局化,只需要在他上面加一个装饰器: @app.template_global() def func(a1,a2): return a1+a2 模板中:{{func(1,2)}} 10,过滤条件 @app.template_filter()条件过滤 def func(a1,a2): return a1+a2 模板中用法:{{1|func(2)}} 前面是第一个参数,后面是第二个参数
session相关
11,session session本质操作的是字典, session请求进来,就放在内存,当return以后才会保存到本地数据库.
session相关的配置
app.config
12,app.config里面放的就是flask的所有配置文件 13,闪现 flash 定义:本质和session一样,只不过session里面是可以一直取,而闪现值取一次,就会删除,相当于pop.