应用程序唯一需要访问的是app
-instance 以创建cache
.
假设您的代码:cache = Cache(app)
在foo.py
. 但是您想使用bar.py
使用蓝图来注册路由的缓存。
foo.py:
from flask.ext.cache import Cache
cache = Cache(app)
from bar import mod
app.register_blueprint(mod)
您唯一需要做的bar.py
就是导入cache
fromfoo.py
并使用它:
酒吧.py:
from foo import chache
mod = Blueprint(...)
@mod.route('/')
@cache.cached(timeout=50)
def index():
return str(datetime.now())
Flask 缓存文档和示例
编辑:上面的例子有一个循环导入的问题。这里的方法是将应用程序与缓存分开:
包/__初始化__.py:
app = Flask(__name__)
from pack.views.general import mod
app.register_blueprint(mod)
包/缓存.py:
from flask.ext.cache import Cache
from pack import app
cache = Cache(app)
包/视图/general.py:
from flask import Blueprint
from pack.chache import chache
mod = Blueprint(...)
@mod.route('/')
@cache.cached(timeout=50)
def index():
return str(datetime.now())