__init__.py 设置后,Flask 应用程序中的静态图像文件夹未加载图像

Images are not loading for the static images folder in flask app after __init__.py setup

我有一个我构建的烧瓶应用程序。用户可以通过表单上传图片。当用户上传图片时,它会将图片添加到文件夹 website/static/images/。文件正确保存在文件夹中,但由于其位置或文件夹结构的某些问题,我无法显示图像。

这是init.py:

from flask import Flask, session, redirect, url_for
from pymongo import MongoClient
from os import path, mkdir

client = MongoClient()
db = client.Contractor 

app = Flask(__name__, static_url_path='/static')
app.config['SECRET_KEY'] = 'eigeinsonriuosvnirosjvsoe' 
upload_folder = 'website/static/images/'
if not path.exists(upload_folder):
  mkdir(upload_folder)
app.config['MAX_CONTENT_LENGTH'] = 25 * 1024 * 1024
app.config['UPLOAD_FOLDER'] = upload_folder

这是我尝试检索它们并将它们显示给用户的地方:

{% for photo in all_photos %}
    <div>
      <a>
        <img style="height: 250px;" src={{ url_for('static', filename=photo.filename ) }}/>
      </a>
      <p>{{ photo.image_name }}</p>
      <p>{{ photo.caption }}</p>
      <p>{{ photo.location }}</p>
    </div>
  {% endfor %}

我试过以下方法:

<img style="height: 250px;" src={{ url_for('static', filename=photo.filename ) }}/>

还有这个

<img style="height: 250px;" src={{ url_for('static/images', filename=photo.filename ) }}/>

还有这个

<img style="height: 250px;" src={{ url_for('static/images/', filename=photo.filename ) }}/>

这是我在尝试任何变体时不断遇到的错误:

werkzeug.routing.BuildError: Could not build url for endpoint 'static/images' with values ['filename']. Did you mean 'static' instead?

假设 'website' 是设置 Flask 应用程序的主目录,并且您的结构如下:

/website
  /static
     /images

那么你应该这样做:

<img style="height: 250px;" src={{ url_for('static', filename='images/'+photo.filename ) }}/>