Flask项目小知识

1.make_response

# 表示返回响应,参数可以是一个对象,比如图片,一段html语句
make_response(对象)
# 他返回一个response对象,可以设置响应头信息
response = make_response(image)
# 设置响应头信息
response.headers['Content-Type'] = 'image/jpg'
return response

2.jsonify和dump

jsonify是dump都是将字典转换成json类型的方法

jsonify是flask内置的,不仅能转换成json类型,还能将响应类型变为json,dump没有这功能

所以一般开发flask使用jsonify

3.url地址

不要忘记图片的url地址也能像a标签一样请求后台接口,但返回类型一定要为图片对象

4.Redis Setex 和 Set

Setex可以存入redis数据库键值,和过期时间,Set只能存入redis数据库键值

Redis对象.setex(key,time,value)

5.虚拟机异常退出

在使用虚拟机时,电脑异常终止导致重启后虚拟机提示被使用无法打开,这时我们可以把我们使用的系统的工作路径中全部.lck文件删除,以恢复正常

6.通过ajax给后台发送请求,后台数据通过json返回给前端时,我们可以在succeed里定义函数接受其值

$.ajax({
    url:'/',
    type:'post',
    data:JSON.stringify(params),// 把参数对象转成json
    contentType:'application/json',// 发送到后端的数据类型
    success:function(resp){
        # 通过json中的键获取值
        resp.key
    }

7.蓝图

# 第一个admin为该蓝图名称,用来做装饰器路由用
# 第二个admin为‘端点’,用来唯一表示蓝图,也是他的name,url_for(),中参数就为他
# 请求钩子如果要设计到蓝图问题,也需要加上蓝图的name值在调用
admin=Blueprint('admin',__name__)
# 第二个参数为请求前缀,访问路由时需要加上这个前缀,这个前缀可以不设置
app.register_blueprint(admin,url\_prefix='/admin')

8.日志

配置日志不再详细介绍

使用日志,可以直接logging也可以通过current_app.logger使用

# 不仅可以通过log输出也可以向日志中放入信息
# 这里只列出了debug和error两个级别,其他级别也可以使用
logging.debug("This is a debug log.")
current_app.logger.error(e) # 放入信息

9.redis缓存同步

在项目中用redis缓存时,为了保证数据与mysql数据库中数据一致,每次需要用到缓存数据时,如果缓存中没有,数据要通过查询数据库得到,然后存入redis,在其他地方需要修改内容时,要先将redis中该字段删除

10.python中的三元表达式:

# 如果user存在就将user.to_dict()赋值给info,不存在就将none给info
info = user.to_dict() if user else none

11.Session存储问题

flask想使用session上下文对象实现状态保持时,我们用flask内置的flask_session进行配置,使其加密存储在redis中,redis是基于内存存储的,速度相对很快

请求时,一个浏览器对象对应一个session,同一浏览器窗口内,保存相同字段session信息,后者会覆盖前者,不同浏览器之间是不同session,不会受到影响

扫描二维码关注公众号,回复: 4115284 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_36217796/article/details/84179602