Flask-Images无效

Des*_*Des 5 python flask

我安装了Flask-Images,根据doco动态调整图像大小:https://mikeboers.github.io/Flask-Images/

我的代码是这样的:Jinja

<img src="{{ resized_img_src(filename, width=200) }}"/>
Run Code Online (Sandbox Code Playgroud)

在views.py中

@app.route("/uploads/<filename>", methods=["GET"])
def uploaded_file(filename):
  return send_from_directory(upload_path(), filename)
Run Code Online (Sandbox Code Playgroud)

即使我可以看到修改后的URL在开发工具上返回,图像也不会改变大小:

  <img src="/uploads/69?w=200&amp;s=4tDuOKq1G1qURVty_6pYAxpG4jk">
Run Code Online (Sandbox Code Playgroud)

我知道类似的东西在这里问了一段时间Flask-Images不起作用, 但唯一的答案是没有帮助.

我已经在这2天了.如果有人将Flask-Images纳入他们的项目,我会很感激任何建议.人们会建议使用Flask-Resize吗? https://github.com/jmagnusson/Flask-Resize.

Mat*_* M. 0

问题

当前设置的问题是 Flask-Images 找不到图像文件 69。

如果您在调试模式下运行 Flask 应用程序,当您输入要调整图像大小的 URL 时,您会看到以下 404 错误。

127.0.0.1 - - [04/Jul/2015 17:09:50] "GET /imgsizer/uploads/beastie.png?w=200&s=3mNDiQA6kRKps70a7xBi0BywF2w HTTP/1.1" 404 -
Run Code Online (Sandbox Code Playgroud)

解决方案

为了让 Flask-images 能够加载资源,我们需要将其放在可访问的地方,即 Flask 中默认的“static”目录

如上所述的解决方案是将图像移动到静态目录中,您也可以覆盖应用程序定义中或设置中的目录路径

app = Flask(static_folder='some_other_path_with_images')
app.config['STATIC_FOLDER'] = 'or_this_other_directory'
Run Code Online (Sandbox Code Playgroud)

修复此问题后,您还可以检查应用程序调试控制台并查看请求是否正常执行

127.0.0.1 - - [04/Jul/2015 17:18:47] "GET /imgsizer/beastie.png?v=VZfrJw&w=100&s=2_gsJZCVk-gvUm4VD-OD6ZuXjbY HTTP/1.1" 200 -
Run Code Online (Sandbox Code Playgroud)

源代码

请随意查看我设置的模型来检查这一点,这个问题的解决方案可以在 github 上找到。