的應用程序需要訪問的唯一的事情是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