gpt4 book ai didi

python - Flask在项目中缓存多个文件

转载 作者:行者123 更新时间:2023-12-03 15:51:02 27 4
gpt4 key购买 nike

我对Flask比较陌生。我的Flask项目中有多个文件。到目前为止,如果要从current_app文件外部访问app对象,则使用app.py

现在,我尝试使用flask-caching扩展名将缓存添加到我的应用中。我用app.py初始化它

from flask_caching import Cache
...
cache = Cache(app, config={'CACHE_TYPE': 'simple'})

但是我在用 views.py文件uisng时遇到了麻烦。

我有一个资源课:
class MyEndpoint(Resource):
def get(self):
do_stuff_here

我不知道如何在这里获取 cache对象来实现此目的:
class MyEndpoint(Resource):
@cache.cached(timeout=600)
def get(self):
do_stuff_here

我试着做:
  • 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

    最佳答案

    我知道了
    只需在另一个文件中初始化Cache对象即可:
    common/extensions.py:

    from flask_caching import Cache

    cache = Cache()

    然后在 app.py中:
    from common.extensions import cache
    app = Flask(__name__)
    cache.init_app(app, config={'CACHE_TYPE': 'simple'})

    关于python - Flask在项目中缓存多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48578906/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com