如何将表格数据和上传的图像显示到烧瓶中的页面

时间:2015-10-21 19:03:11

标签: flask flask-wtforms flask-login

如何向页面显示表单数据和上传的图像。喜欢这是一个学生申请网站,学生将在那里填写他的信息和他的照片。因此,当他提交时,他将被重定向到另一个页面" apply.html"填写自己的信息和页面上的图像,一种承认卡。

我可以将图片上传到我的"静态/上传"文件夹以及表单被提交时用户被重定向到" apply.html"填写信息,但我没有找到一种方法来显示图像" apply.html"

这是我的代码

@app.route('/form.html', methods=['GET', 'POST'])
def form():
  nform = NewRegistration(request.form)
  if request.method == 'POST':
    if nform.validate() == False:
      flash('All fields are required.')
      return render_template('form.html', form=nform)
    else:

        try:
            file = request.files['file']
            if file and allowed_file(file.filename):
                filename = secure_filename(file.filename)
                file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
        except Exception as e:
            print "Form without file "+e
        post = request.form['element_15'].strip()
        name = request.form['element_1_1'].strip()
        last = request.form['element_1_2'].strip()
        Name = str(name)+ ' ' +str(last)
        father = request.form['element_2'].strip()
        mother = request.form['element_3'].strip()
        gender = request.form['element_17'].strip()
        data = {'Name' : Name, 'post' : post, 'father' : father}
        return render_template("apply.html", data=data)

    elif request.method == 'GET':
      return render_template('form.html', form=nform)

1 个答案:

答案 0 :(得分:2)

apply.html模板中,您可以使用<img>标记指向您上传的图片。考虑将图像保存在img文件夹下的static文件夹中。然后你可以使用:

<img src="{{url_for('static', filename='img/' + filename)}}">

为了使用filename,在表单视图返回语句中添加一个filename变量:

return render_template("apply.html", data=data, filename=filename)