no_cache
函数私有装饰器源码
@no_cache
def func(): ...
用来向flask
服务添加no_cache
属性的装饰器。
该装饰器可以将某服务的响应标记为no_cache
。当相同的服务需要连续多次触发时,这一属性可能会发挥重要作用。例如,在某些情况下,用户可能需要点击按钮下载文件。若no_cache
未设置,连续第二次点击按钮的时候,就不会触发任何事件。除非提供的文件服务发生变化。
换言之,该装饰器用于在某些特定的服务中,禁用缓存功能。
参数
该装饰器不 提供初始化参数。
范例
装饰文件事件
- 代码
- 结果
import io
import flask
from dash_file_cache.utilities import no_cache
app = flask.Flask("demo")
@no_cache
@app.route("/")
def index():
return flask.send_file(
io.BytesIO("test file".encode()),
mimetype="text/plain",
as_attachment=True,
download_name="test.txt",
)
if __name__ == "__main__":
app.run()
访问服务会下载名为text.txt
的文件。文件内容为:
test file