将参数传递给flask.url_for()

时间:2017-07-11 02:42:49

标签: python flask

我制作了一个简单的网站,用户上传图片,然后在页面上显示。在get_root中:

@app.route('/', methods=['POST', 'GET'])
def get_root():
    if request.method == 'POST':
        return render_template("webpage2.html", image = upload_file())
    return render_template("webpage2.html")

在upload_file中:

@app.route('/upload/', methods = ['POST', 'GET'])
def upload_file():
    if request.method == 'POST':
        if 'fileToUpload' not in request.files:
            flash('No file part')
            return redirect(request.url)
        file = request.files['fileToUpload']
        if file.filename == '':
            flash('No selected file')
            return redirect(request.url)
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            return redirect(url_for('uploaded_file', filename=filename))

在uploaded_file()中:

@app.route('/image/', methods = ['POST', 'GET'])
def uploaded_file(filename):
    return send_from_directory(app.config['UPLOAD_FOLDER'], filename)

当我测试它时,页面加载,但没有图像,我在控制台上收到以下错误:

TypeError: uploaded_file() takes exactly 1 argument (0 given)

我尝试过多种变体,但这似乎是我的主要问题:将正确的参数传递给uploaded_file。

0 个答案:

没有答案