炫意html5
最早CSS3和HTML5移动技术网站之一

Flask-Cache 报错:KeyError: ‘cache’

下面的代码:

from flask import Flask
from flask_cache import Cache
app = Flask(__name__)
cache = Cache(config={'CACHE_TYPE': 'simple'})
@app.route('/test_cache')
@cache.cached(timeout=5)
def hello_world():
print('if cache,the second request do not print')
return 'Hello, World!'

运行:flask run,然后请求:curl http://127.0.0.1:5000/test_cache,有报错:

Exception possibly due to cache backend.
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/flask_cache/__init__.py", line 289, in decorated_function
rv = self.cache.get(cache_key)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/flask_cache/__init__.py", line 192, in cache
return app.extensions['cache'][self]
KeyError: 'cache'

请问,是什么原因?

回答

上面这种写法,需要加上这段代码:cache.init_app(app)
详见代码仓库:https://github.com/cag2050/fl…

from flask import Flask
from flask.ext.cache import Cache

app = Flask(__name__)
# Check Configuring Flask-Cache section for more details
cache = Cache(app,config={'CACHE_TYPE': 'simple'})

炫意HTML5 » Flask-Cache 报错:KeyError: ‘cache’

CSS3教程HTML5教程