Qub*_*uba 8 python caching flask
我对 Flask 比较陌生。我的烧瓶项目中有多个文件。到目前为止,我一直在使用current_appif 我想app从app.py文件外部访问对象。
现在我正在尝试使用Flask-caching扩展向我的应用程序添加缓存。我在我的app.py
from flask_caching import Cache
...
cache = Cache(app, config={'CACHE_TYPE': 'simple'})
Run Code Online (Sandbox Code Playgroud)
但是我在使用views.py文件时遇到了麻烦。
我有一个资源类:
class MyEndpoint(Resource):
def get(self):
do_stuff_here
Run Code Online (Sandbox Code Playgroud)
我不知道如何在cache此处获取对象以实现此目的:
class MyEndpoint(Resource):
@cache.cached(timeout=600)
def get(self):
do_stuff_here
Run Code Online (Sandbox Code Playgroud)
我试图做:
from app import cache -> ImportError: cannot import name 'cache'@current_app.cache.cached -> RuntimeError: Working outside of application context.我的项目结构的一部分:
|
-app.py
|
--api
|
-__init__.py
-views.py
Run Code Online (Sandbox Code Playgroud)
Qub*_*uba 19
我让它工作了。只需在不同的文件中初始化 Cache 对象:
common/extensions.py:
from flask_caching import Cache
cache = Cache()
Run Code Online (Sandbox Code Playgroud)
然后在app.py:
from common.extensions import cache
app = Flask(__name__)
cache.init_app(app, config={'CACHE_TYPE': 'simple'})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2109 次 |
| 最近记录: |