Dataset基于SQLAlchemy的便利工具
获取非重复数据
db['user'].distinct('country')
删除记录
table.delete(place='Berlin')
python装饰器
Decorator通过返回包装对象实现间接调用,以此插入额外逻辑
wraps本身也是一个装饰器,它能把原函数的元信息拷贝到装饰器函数中,这使得装饰器函数也有和原函数一样的元信息了
werkzeug
werkzeug是一个WSGI工具包,可以作为一个Web框架的底层库。它封装好了很多Web框架的东西,例如 Request,Response等等。Flask框架就是一Werkzeug 为基础开发的
generate_password_hash(password)
将用户输入的明文密码加密成密文进行存储
密码加盐哈希函数。用来将明文密码加密,返回加密后的密文,用来进行用户注册
函数定义:
flask 变量规则
要给URL添加变量部分,你可以把这些特殊的字段标记为 , 这个部分将会作为命名参数传递到你的函数。规则可以用 指定一个可选的转换器
order by的用法
使用order by,一般是用来,依照查询结果的某一列(或多列)属性,进行排序(升序:ASC;降序:DESC;默认为升序)。当排序列含空值时:ASC:排序列为空值的元组最后显示。DESC:排序列为空值的元组最先显示。可以把null值看做无穷大select * from s order by sno desc, sage asc
flask 重定向和错误
可以用 redirect() 函数把用户重定向到其它地方。放弃请求并返回错误代码,用 abort()函数。
在flask的全局变量里面注冊 上面那个生成随机token的函数
1、请求之前设置requestId并记录日志
每个URL请求之前,定义requestId并绑定到g
MySQL字符编码
除了设置数据库的之外,由于dataset默认创建数据库和表的字符集不是utf8,所以需要自己设置,否则会中文乱码,所以需要修改表的字符集