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

我对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如何从URL获取路由ID - python

我正在用烧瓶。我有一个网址,例如:http://example.com/page/page_id我想知道如何从路线中的网址获取page_id部分。我希望我可以设计出一些方法,例如:@route('/page/page_id') def page(page_id): pageid = page_id 参考方案 这非常简单-在尖括号之间传递p…

Python Eve包含过滤器 - python

有什么方法可以返回字段包含某些值的项目?例如。GET /people?contains="foo"返回名称中带有“ foo”一词的所有人。提前致谢 参考方案 您可以使用mongodb $regex运算符,该运算符在Eve(MONGO_QUERY_BLACKLIST = ['$where', '$regex&#…

flask-cache还可以记住URL查询字符串参数 - python

flask-cache扩展具有@cache.memoize装饰器,用于缓存包含视图的*args和**kwargs的视图。但是,我的某些视图也采用了URL查询字符串,例如/foo/image?width=640。装饰器在装饰后的视图函数中添加make_cache_key方法,可用于自定义缓存键但是我不知道如何在普通请求上下文之外获取request.args。有…

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

Flask Cors无法运作 - python

我正在尝试在Flask应用程序中启用CORS,但无论我把来源如何,似乎总是可以从浏览器访问URL。我不知道我做错了什么。这是我的代码from flask import Flask, jsonify from flask_cors import CORS app = Flask(__name__) CORS(app, resources={r'/*&…