我正在尝试上传文件,进行一些计算以生成图像然后显示它。我想出了以下内容,但是在
redirect
之后页面没有刷新。即使我得到正确的代码:
"POST /result HTTP/1.1" 302 -
"GET /display_image/census_2009b.png HTTP/1.1" 200 -
from flask import Flask, request, render_template, send_file, redirect, url_for
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/result', methods=['GET', 'POST'])
def upload_file():
file = request.files['file']
### generating and saving an image to `filename`...
return redirect(url_for('display_image', filename=filename))
@app.route('/display_image/<filename>', methods=['GET', 'POST'])
def display_image(filename):
image_url = url_for('static', filename=filename)
return render_template('display_image.html', image_url=image_url)
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
与
index.html
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="https://unpkg.com/dropzone@5/dist/min/dropzone.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/dropzone@5/dist/min/dropzone.min.css" type="text/css" />
</head>
<body>
<form action="/result" method="get" class="dropzone" id="my-dropzone"></form>
</body>
</html>
和
display_image.html
:
<!DOCTYPE html>
<html>
<head>
<title>Uploaded Image</title>
</head>
<body>
<img src="{{ image_url }}" alt="Uploaded image">
</body>
</html>
我错过了什么?