将值从用户表单传递给Flask

时间:2015-12-09 17:30:08

标签: python python-2.7 flask

当我点击这个简单示例中的提交按钮时,我的页面上出现Not Found错误而控制台中没有出现任何错误。我错过了什么?

from flask import Flask
app = Flask(__name__)
from requests import request

@app.route('/landingpage/')
def landing():
    return """<form action="print_output" method="post">
    Project file path: <input type="text" name="myform"><br>
    <input type="submit" value="Submit">
    </form>"""


@app.route('/print_output', methods=['POST'])
def print_output():
    print(request.form['myform'])
    return "check your console!"
if __name__ == '__main__':
    app.run()

1 个答案:

答案 0 :(得分:2)

有些事情需要改变:

首先,您需要从flask导入请求,这是您将收到的请求。 requests库用于发出请求。

然后,表单操作需要指向您在第二条路线上的网址:/print_output

需要更改的另一件事是name="\myform",我删除了表单上的反斜杠。

还使方法大写:method="POST"

from flask import Flask
from flask import request

app = Flask(__name__)

@app.route('/landingpage/')
def landing():
    return """<form action="/print_output" method="POST">
    Project file path: <input type="text" name="myform"><br>
    <input type="submit" value="Submit">
    </form>"""


@app.route('/print_output', methods=['POST'])
def print_output():
    print(request.form['myform'])
    return "check your console!"

if __name__ == '__main__':
    app.run()