Python 图像不会通过flask db显示在页面上

Python 图像不会通过flask db显示在页面上,python,image,flask,file-upload,flask-sqlalchemy,Python,Image,Flask,File Upload,Flask Sqlalchemy,当我进入回复页面时,我会看到一个空白页面。它不显示图像。我是否对路径做了一些错误的操作,或者需要在代码中添加一些额外的内容 代码如下: 配置 import os from dotenv import load_dotenv basedir = os.path.abspath(os.path.dirname(__file__)) load_dotenv(os.path.join(basedir, '.env')) UPLOAD_EXTENSIONS = '.jpg', '.png', '.gi

当我进入回复页面时,我会看到一个空白页面。它不显示图像。我是否对路径做了一些错误的操作,或者需要在代码中添加一些额外的内容

代码如下:

配置

import os
from dotenv import load_dotenv

basedir = os.path.abspath(os.path.dirname(__file__))
load_dotenv(os.path.join(basedir, '.env'))

UPLOAD_EXTENSIONS = '.jpg', '.png', '.gif'
    UPLOAD_PATH =  '/Users/ramanan/microblog-0.21/app/static/photos'

路线

def validate_image(stream):
    header = stream.read(512)  # 512 bytes should be enough for a header check
    stream.seek(0)  # reset stream pointer
    format = imghdr.what(None, header)
    if not format:
        return None
    return '.' + (format if format != 'jpeg' else 'jpg')


@bp.route('/photos', methods=['POST'])
def upload_files():
    for uploaded_file in request.files.getlist('file'):
        filename = secure_filename(uploaded_file.filename)
        if filename != '' or filename:
            file_ext = os.path.splitext(filename)[1]
            if file_ext not in current_app.config['UPLOAD_EXTENSIONS'] or \
                    file_ext != validate_image(uploaded_file.stream):
                abort(400)
            uploaded_file.save(os.path.join(current_app.config['UPLOAD_PATH'], filename))
            image = Photo(image=uploaded_file.read(), name=filename, mimetype=file_ext)
            db.session.add(image)
            db.session.commit()
    return redirect(url_for('main.photos'))

@bp.route('/<int:id>')
def get_img(id):
    img = Photo.query.filter_by(id=id).first()
    if not img:
        return 'Img Not Found!', 404
    return Response(img.image, mimetype=img.mimetype)

def验证_图像(流):
header=stream.read(512)#512字节应该足以进行头检查
stream.seek(0)#重置流指针
格式=imghdr.what(无,标题)
如果不是格式:
一无所获
返回“.”+(如果格式化,则格式化!=“jpeg”否则为“jpg”)
@路由('/photos',方法=['POST'])
def upload_文件():
对于request.files.getlist(“文件”)中上载的_文件:
filename=secure\u filename(上传的\u file.filename)
如果文件名!=''或文件名:
file_ext=os.path.splitext(文件名)[1]
如果文件\u ext不在当前的\u app.config['UPLOAD\u EXTENSIONS']中,或\
文件扩展!=验证\u映像(上载的\u文件.stream):
中止(400)
上传的_file.save(os.path.join(当前的_app.config['UPLOAD_path'],文件名))
image=Photo(image=upload\u file.read(),name=filename,mimetype=file\u ext)
db.session.add(图像)
db.session.commit()
返回重定向(url_for('main.photos'))
@bp.route(“/”)
def get_img(id):
img=Photo.query.filter_by(id=id).first()
如果不是img:
返回“找不到Img!”,404
返回响应(img.image,mimetype=img.mimetype)