的应用程序需要访问的唯一的事情是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
做的唯一的事情是进口从foo.py
的cache
并使用它:
bar.py:
from foo import chache
mod = Blueprint(...)
@mod.route('/')
@cache.cached(timeout=50)
def index():
return str(datetime.now())
Flask Cache Docs和Examples
编辑:上面的例子有一个问题,circiular进口。去这里的路是分开的高速缓存中的应用:
包/ __ 初始化 __.py:
app = Flask(__name__)
from pack.views.general import mod
app.register_blueprint(mod)
包/ cache.py:
from flask.ext.cache import Cache
from pack import app
cache = Cache(app)
pack/views/general。潘岳:
from flask import Blueprint
from pack.chache import chache
mod = Blueprint(...)
@mod.route('/')
@cache.cached(timeout=50)
def index():
return str(datetime.now())
我很接近这个,但并不完全在我的努力中。 – blueblank
使用蓝图和CACHE_TYPE ='文件系统'只能与cache.init_app(应用程序,配置=应用程序配置) –
我只是不能使用像你建议的打印时间,并且此代码为我运行。进口日期时间现在= datetime.datetime.now()小时= now.hour 分钟= now.minute 秒= now.second \t打印“,这是高速缓存时间:%S-%S-%S “%(小时,分钟,秒) – gacon