Flask蓝图中,如何使用flask_cache

在flask的项目中,难免会使用到缓存,flask使用最多的缓存库往往是flask_cache。
一般情况下,代码也都在manage.py中编写,flask_cache的使用方式为:
from flask import Flask
from flask_cache import Cache
app=Flask(__name__)#初始化当前程序对象
cache=Cache(app)#利用这个程序对象去初始化缓存cache对象

用这种方式去初始化,如果把所有视图函数放在一个文件中,这样子是没问题的,但是!!!当随着项目越来越大,
一个文件已经不足以支撑着整个项目视图的时候,flask的蓝图它应用而生。
from flask import Blueprint

但是,注意一点,在蓝图中该如何使用缓存呢???缓存的构造方法为cache=Cache(app=app),
你这个app该去哪里获取呢?难道from manage import app?想法很好,但是,当你实际去操作的时候,
发现根本不行。会报错,ImportError: cannot import name 'app',这是为什么?原因是,
python这个语言自身的原因造成的(循环导入),简单来说就是 A文件导入了B文件的东西,
B文件又导入了A的东西,互相依赖,导致报错。

讲了这么多,不理解也没事儿,两种方式解决:
1、避免在文件头中写from manage import app,这个是错误的。正确的是,在def 自定义方法中导入app,
来一段伪代码展示
def fuc():
	from manage import app
	......
2、使用flask的current_app,直接在文件开头,from flask import current_app。
这个current_app是个全局变量,指的就是当前的项目运行的这个app。
cache=Cache(app=current_app)

以上说了这么多,希望能帮到大家。
  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值