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.






原文地址:https://www.cnblogs.com/52forjie/p/8251521.html