Python Flask-如何将多个图像上载到数据库并在网站上呈现
我有一个带烧瓶的图像上传区。此区域还可以加载多个图像。最多有8个图像上传曲目。上传保存的图像后,我将它们放入文件中。我会把他们上传的图片再次发布到网站上。我想在数据库中注册,但我不知道如何注册。我想要带输入文件的图片。有多少图片被上传,我不知道如何画这些图片 简而言之,当用户保存保存的图像时,我会将其保存在文件中,并希望将上载的图像保存到数据库中,以便在我的网站上发布。我该怎么做?我在用炼金术 HTMLPython Flask-如何将多个图像上载到数据库并在网站上呈现,python,html,database,flask,sqlalchemy,Python,Html,Database,Flask,Sqlalchemy,我有一个带烧瓶的图像上传区。此区域还可以加载多个图像。最多有8个图像上传曲目。上传保存的图像后,我将它们放入文件中。我会把他们上传的图片再次发布到网站上。我想在数据库中注册,但我不知道如何注册。我想要带输入文件的图片。有多少图片被上传,我不知道如何画这些图片 简而言之,当用户保存保存的图像时,我会将其保存在文件中,并希望将上载的图像保存到数据库中,以便在我的网站上发布。我该怎么做?我在用炼金术 HTML 要渲染图像,请获取相册,然后将图像作为属性访问,即album.foto_one、album.
要渲染图像,请获取相册,然后将图像作为属性访问,即
album.foto_one
、album.foto_two
等:
@app.route('/show-album/<int:id>', methods=['GET', 'POST'])
def show_album(id=None):
try:
album = Album.query.get(id)
return render_template('album.html', album=album)
except:
abort(404)
还可以将图像名称存储为数组,并按如下方式渲染它们:
class Album(db.Model):
id = db.Column(db.Integer, primary_key=True)
photos = db.Column(ARRAY(String))
在模板中,迭代照片列表,而不是键入所有链接
{% for item in album.photos %}
<ul>
<li>
<img src="{{ url_for('static/uploads/item') }}"> # <img src="/static/uploads/image_name.jpeg">
</li>
</ul>
{% endfor%}
{%用于相册中的项目。照片%}
-
#
{%endfor%}
在数据库中存储文件不是一个好主意。只存储所需的元数据。还可以查看sqlalchemy的工作原理。实际的图像文件通过file.save(os.path.join(app.config['UPLOADED\u FILES',filename])行保存在静态文件夹中。
您只需将图像名称存储在数据库列照片上,然后通过url\u访问它们即可。
@app.route('/show-album/<int:id>', methods=['GET', 'POST'])
def show_album(id=None):
try:
album = Album.query.get(id)
return render_template('album.html', album=album)
except:
abort(404)
<img src="{{ url_for('/static/uploads/album.foto_one }}">
<img src="{{ url_for('/static/uploads/album.foto_two }}">
class Album(db.Model):
id = db.Column(db.Integer, primary_key=True)
photos = db.Column(ARRAY(String))
{% for item in album.photos %}
<ul>
<li>
<img src="{{ url_for('static/uploads/item') }}"> # <img src="/static/uploads/image_name.jpeg">
</li>
</ul>
{% endfor%}