Flask表单数据传递到数据库并重定向到主页

时间:2018-04-24 20:50:20

标签: python flask

好的,所以我一直试图让表单将数据传递到Flask中的文本文件,但每次我这样做时,都会收到以下错误消息之一: “ 方法不允许。请求的网址不允许使用该方法。 ” 要么 未找到。在服务器上找不到请求的URL。如果您手动输入了网址,请检查您的拼写,然后重试。

我想要发生的是当用户点击提交时,将其重定向到主页并显示“Hi username”消息。我已经尝试将表单操作“/,index,index.html,{{url_for('index')}}”(这最后一个只是作为一个长镜头但是用完了想法!)

我的Flask代码如下:

@app.route('/signUp', methods = ['GET', 'POST'])
def signUp():
if request.method == "POST":
    with open("data/users.txt", "a") as f:
        f.write(request.form["user"])
else:
    return render_template("signUp.html")

我的表单代码如下:

<form id="loginBox" class="form-horizontal" role="form" method="POST" action="index.html">

                    <div class="form-group">
                        <label for="user" class="col-md-2 control-label">Username</label>
                        <div class="col-md-9">
                            <input type="text" class="form-control" name="user" placeholder="user">
                        </div>
                    </div>

                    <div class="form-group">
                        <!-- Button -->                                        
                        <div class="col-md-offset-2 col-md-9">
                            <input type="submit" value="Sign Me Up" class="btn btn-info btn">
                        </div>
                    </div>    
            </form>

感谢您的任何意见!

1 个答案:

答案 0 :(得分:0)

你发布的路线错误,请尝试更改:

<form id="loginBox" class="form-horizontal" role="form" method="POST" action="index.html">

进入这个:

<form id="loginBox" class="form-horizontal" role="form" method="POST" action="{{url_for('signUp')}}">