Bootstrap和Flask:如何接收POST?

时间:2015-09-24 14:35:31

标签: python twitter-bootstrap flask

我正在使用Bootstrap和Flask设计一个小型网络计算器。但是我已经完成了,这是我的代码:

@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        return render_template('finish.html',
                               number1=request.form['number1'],
                               number2=request.form['number2'],
                               finish=(request.form['number1'] * request.form['number2']))
    else:
        return render_template('index.html')

这是index.html的一部分:

<form>
    <div class="form-group">
        <input type="text" class="form-control" name="number1" placeholder="Number1">
    </div>

    <div class="form-group">
        <input type="text" class="form-control" name="number2" placeholder="Number2">
    </div>
<button type="submit" class="btn btn-default">Submit</button>
</form>

所以我希望收到一个POST,并返回结果。但是当我尝试运行我的程序时,输入这两个数字并提交它们。该程序没有收到POST,这是日志:

127.0.0.1 - - [24/Sep/2015 22:20:25] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [24/Sep/2015 22:20:25] "GET /dist/js/bootstrap.min.js HTTP/1.1" 404 -
127.0.0.1 - - [24/Sep/2015 22:20:25] "GET /assets/js/ie10-viewport-bug-workaround.js HTTP/1.1" 404 -
127.0.0.1 - - [24/Sep/2015 22:20:29] "GET /?number1=12&number2=32 HTTP/1.1" 200 -

所以该程序收到类似GET /?number1=12&number2=32的内容,而不是帖子。该网页仍在/。如何将其更改为POST或使用/?number1=12&number2=32

1 个答案:

答案 0 :(得分:4)

更改您的表单以便发布数据(您还必须添加一些引导信息):

<form method="POST" role="form" class="form-horizontal">

同时将按钮更改为输入:

<input type="submit" class="btn btn-default" value="Submit"/>