Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

下面的代码:

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'

请问,是什么原因?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
3.4k views
Welcome To Ask or Share your Answers For Others

1 Answer

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share

548k questions

547k answers

4 comments

86.3k users

...