Python Flask 不更新图像[重复]

2024-05-27

这里有一些关于图像的 Flask 问题,但没有一个能解决我的问题。我有一个应用程序可以创建图像,保存它,然后显示它。一次。它应该多次执行此操作(每次更改图像时,它应该加载新图像)。它不是;它只显示与其显示的文件名关联的第一个图像。这些文件不再位于静态文件夹中,但显示在应用程序中。

创建图像,并通过以下方式保存到静态文件夹的子文件夹中:

img.save('../source/static/images/characters/{}.png'
              .format(self.char.name), "PNG")

该应用程序通过以下方式加载它:

'<img src="/static/images/characters/{}.png" '
            .format(self.name) +
            ' alt="{}" title="{}" '.format(self.name, self.name) +
            'width=100% />'

(通过代码操作添加到 Flask 应用程序中)。

问题是我有两个测试用例:一个是文本出现在图像上(添加的文本在代码的几次迭代前被删除),另一个是 alpha 通道位于错误的位置(RGBA -> ARGB 问题已解决,除了我在网站上看不到新文件)。截至目前,仅在本地运行/测试。正确的图片出现在~\source\static\images\characters。所有 *.py 文件均位于源代码中。我需要做什么才能解决这个问题?

我试过了:

@app.after_request
def add_header(response):
"""
Add headers to both force latest IE rendering engine or Chrome Frame,
and also to cache the rendered page for 10 minutes.
"""
response.headers['X-UA-Compatible'] = 'IE=Edge,chrome=1'
response.headers['Cache-Control'] = 'public, max-age=0'
return response

作为我的末尾的一段单独的代码app.py文件,还尝试添加:

app.config["CACHE_TYPE"] = "null"

至年初app.route()调用创建图像的页面。

在一个可能的单独注释中,图像应该在表格中,但似乎不是......我的意思是,有一个带标题的表格,然后一个表格在一个列中,图像在另一列中......但是第一列的文本位于图像下方(尽管每个文本都在适当的位置)。很奇怪,但可能无关。

那么,为什么 Flask 无法正确更新,我该如何强制它这样做呢? (关闭程序并重新打开时问题仍然存在)。

UPDATE: This seemed上班...

使用 Flask,如何修改所有输出的 Cache-Control 标头? https://stackoverflow.com/questions/23112316/using-flask-how-do-i-modify-the-cache-control-header-for-all-output

通过添加:

app = Flask(__name__)
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 1

到顶部(包括 app = Flask 部分以帮助其他新手),最后是:

# No caching at all for API endpoints.
@app.after_request
def add_header(response):
    # response.cache_control.no_store = True
    if 'Cache-Control' not in response.headers:
        response.headers['Cache-Control'] = 'no-store'
    return response

但只适用于单个实例,其他人仍然有奇怪的缓存。可以从之前缓存,而另一个刚刚超时,但这种情况不应该发生,因为我一直关闭服务器(本地主机),对吗?


这似乎有效

使用 Flask,如何修改所有输出的 Cache-Control 标头? https://stackoverflow.com/questions/23112316/using-flask-how-do-i-modify-the-cache-control-header-for-all-output

通过添加:

app = Flask(__name__)
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0

到顶部(包括 app = Flask 部分以帮助其他新手),最后是:

# No caching at all for API endpoints.
@app.after_request
def add_header(response):
    # response.cache_control.no_store = True
    response.headers['Cache-Control'] = 'no-store, no-cache, must-
    revalidate, post-check=0, pre-check=0, max-age=0'
    response.headers['Pragma'] = 'no-cache'
    response.headers['Expires'] = '-1'
    return response

这可行,但我的命令提示符窗口中的日志不断发送信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Flask 不更新图像[重复] 的相关文章

随机推荐

  • 在 Hadoop MapReduce 中为二进制文件创建自定义 InputFormat 和 RecordReader

    我正在编写一个 M R 作业 该作业处理以二进制格式编写的大型时间序列数据文件 如下所示 此处换行以提高可读性 显然 实际数据是连续的 TIMESTAMP 1 TIMESTAMP 1 TIMESTAMP 2 TIMESTAMP 2 TIME
  • JavaScript fetch API - 为什么response.json()返回一个promise对象(而不是JSON)? [复制]

    这个问题在这里已经有答案了 我刚刚开始学习 Fetch API https developer mozilla org en US docs Web API Fetch API Using Fetch https developer moz
  • 使用 Android 地图 v2 进行自由绘图

    我有一个地图应用程序 使用新的 v2 Google Maps API for Android 我想做的是允许用户在地图上沿着手指的路径画一条线 我知道我可能需要一个按钮来启用 禁用此功能 因为它显然需要禁用平移 缩放控件 一旦用户画了线 我
  • ASP .NET Core IIS 托管用户身份名称为空且 IsAuthenticated=false

    我在 IIS 上运行 ASP NET Core dll 使用 AspNetCoreModule 使用以前的 ASP NET 我可以通过以下方式获取用户身份名称 HttpContext Current User Identity Name 因
  • 即使提供了通知,也无法在前台服务中运行蓝牙扫描超过 10 - 15 秒

    即使应用程序关闭 我也使用服务来保留对 Android 手机的扫描 我使用广播接收器在被杀死时重新启动我的服务 它会重新启动扫描 并且只工作大约 15 秒 然后停止 当我单击 MainActivity 中的 button1 时 我启动了服务
  • 库和可执行文件的大小

    我有一个在 Windows 上使用 MSVC 创建的静态库 lib 库的大小为 70KB 然后我有一个链接该库的应用程序 但现在最终可执行文件 exe 的大小为 29KB 小于库 我想知道的是 由于该库是静态链接的 我认为它应该直接添加到可
  • 将base64字符串转换为图像c#时出错

    我想在我的网页上显示图像 并单击应该下载的链接按钮 存储的图像文件以二进制格式存储在db中 将 base64 字符串转换为图像时显示错误 详细信息如下 帮助我找到合适的解决方案 谢谢 Error Code protected void Pa
  • Scapy TCP 校验和重新计算奇怪的行为

    我正在尝试进行 TCP ACK 欺骗 我从 pcap 文件中嗅探一个 ACK 数据包 并在循环中发送它 增加其 ACK 编号以及另一个选项字段 嗅探部分 预欺骗 from scapy all import from struct impor
  • Grails GORM 和枚举

    我在 Grails 中使用枚举时遇到问题 我尝试在 grails 域对象中使用枚举 code package it xxx tools kanban import java util Date class Task String name
  • ggplot:按组自动化的百分位线

    我找到了dplyr gt 运算符有助于简单的 ggplot2 转换 无需求助于ggproto 这是必需的ggplot2 扩展 http docs ggplot2 org dev vignettes extending ggplot2 htm
  • Visual Studio Community 缺少 iOS 11.2.1 的开发人员工具,无法调试

    我正在尝试在调试配置文件下构建和运行 所以我的 Xcode 是最新的9 2 9C40b 检查了应用商店和开发者门户 没有更新 Visual Studio 社区也已更新至7 3 2 build 12 stable channel 仅使用 Xc
  • 在SPRING BOOT中配置多个数据库

    我正在尝试为我的 Spring Boot 应用程序连接 2 个不同的数据库 但出现此错误 应用程序无法启动 描述 com SyncFibertToolSpring SyncFibertTool MydbDB Config MydbDbCon
  • Windows docker:权限被拒绝 /var/run/docker.sock

    当我尝试使用自动发现运行 filebeat 时 出现以下错误 退出 自动发现提供程序设置中出现错误 已获得权限 尝试连接到 Docker 守护程序套接字时被拒绝 unix var run docker sock 获取http 2Fvar 2
  • 为什么我的 Java 路径中添加了“L”?

    我在我的类路径中加载了一个 jar 在 iReport 中 如果重要的话 我确信它具有所需的方法 但是当我尝试测试连接 从而调用该 jar 时 我得到一个 java lang NoSuchMethodError 说它正在引用班上 Lorg
  • PagedList 的 Newtonsoft.Json 序列化不包含某些属性

    我正在尝试序列化 PagedList 对象 https github com martijnboland MvcPaging blob master src MvcPaging PagedList cs https github com m
  • 如何在google colaboratory上使用GPU升级tensorflow

    目前google colaboratory使用tensorflow 1 4 1 我想升级到1 5 0版本 每次当我执行时 pip install upgrade tensorflow命令 notebook实例成功将tensorflow版本升
  • Active Record 和 DAO 之间的区别?

    数据访问对象和 Active Record 之间有什么区别 它们看起来非常相似 因为都在应用程序和持久层之间构建了一个层 并使用 SQL 查询抽象出直接数据库访问 数据访问对象 DAO 是指数据层中负责在域中保存单独实体的对象 Active
  • 在cmake中设置PKG_CONFIG_PATH

    我已经在本地构建了 opencv 并将其安装到本地目录 不是系统默认目录 opencv pc存在于该本地文件夹中的 pkgconfig 文件夹下 我怎样才能找到这个opencv pc来自 cmake 因为我想从我的程序链接并包含 openc
  • 使用 OpenNLP 获取句子的解析树。陷入困境。

    OpenNLP 是一个关于自然语言处理的 Apache 项目 NLP 程序的目标之一是解析一个句子 并给出其语法结构的树 例如 天空是蓝色的 这句话 可能会被解析为 S NP VP The sky is blue where S是句子 NP
  • Python Flask 不更新图像[重复]

    这个问题在这里已经有答案了 这里有一些关于图像的 Flask 问题 但没有一个能解决我的问题 我有一个应用程序可以创建图像 保存它 然后显示它 一次 它应该多次执行此操作 每次更改图像时 它应该加载新图像 它不是 它只显示与其显示的文件名关