flask html输入格式

时间:2016-07-10 07:39:28

标签: python flask

我正在尝试使用python / Flask读取文件,并在单击按钮时显示它。要查看文件,这样的返回函数可以正常工作:

return redirect(url_for('uploaded_file',filename=filename))

但我试图在HTML中实现一键查看文件。像这样:

<form><input action="redirect(url_for etc. ??)" type=submit value=viewFile> </form>

action的正确语法是什么? 谢谢你的任何提示。

2 个答案:

答案 0 :(得分:1)

动作属性应该在<form>上,而不是<input>。 action的值应该只是接受文件的路由的URL。假设你正在使用Jinja2,就像这样:

的Jinja2:

<form action="{{url_for('upload')}}" enctype="multipart/form-data">
  <input type="file" name="view_file">
  <input type="submit" value="Upload">
</form>

的Python:

@app.route('/upload', methods=['POST'])
def upload():
    # Handle upload and save to disk here..
    return redirect(url_for('uploaded_file', filename=filename))

@app.route('/uploads/<filename>')
def uploaded_file(filename):
    return send_from_directory(app.config['UPLOAD_FOLDER'], filename)

另见http://flask.pocoo.org/docs/0.11/patterns/fileuploads/(看起来你已经在那个例子中工作了......)

答案 1 :(得分:0)

这段代码让我把文件名传递给html表单输入。

蟒:

...
return render_template('view.html', cat = filename)

html(view.html):

<!doctype html>
<form action="{{url_for('uploaded_file', filename=cat)}}" enctype="multipart/form-data">
<input type=submit value='view file'>
</form>