Flask使用表单添加DB条目

时间:2015-09-21 12:45:27

标签: python flask flask-sqlalchemy

我是初学者,学习FLASK。我正在创建一个应用程序,为此我创建了一个数据库模型用户,以及一个接受输入的HTML / JS表单。我想要的是使用表单信息在数据库中创建一个新条目,但我不确定如何做到这一点。我试着这样做

@app.route('/add_to_db')
def add_to_db():
    email = request.form['email']
    activated = 0;
    user = models.User(email= email, activated = 0)
    db.session.add(user)
    db.session.commit()

HTML代码:

<form onsubmit="return validateEmail(document.getElementById('email').value)" action="{{ url_for("add_to_db") }}" method="post">
    Please input your email adress: <input id="email">
    <input type="submit">
</form>
<script>
    function validateEmail(email) {
        var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
        return(re.test(email));
    }
</script>

但这给了我一个405方法不允许错误。

1 个答案:

答案 0 :(得分:1)

405错误表示“方法不允许”。在发送表单数据时,您正在使用POST请求并需要允许POST请求。默认情况下,只允许GET请求。将行@app.route('/add_to_db')更改为@app.route('/add_to_db', methods=['POST'])