Flask - 新用户的注册不起作用 - 请求不好

时间:2017-01-09 19:20:37

标签: python flask

我正在使用Flask做一些应用程序,我现在正在注册。我在这种情况下使用SQL而不是SQLAlchemy(只是为了更多地使用SQL) 也使用Flask-WTF表格。

我成功创建了数据库表:

class RegisterForm(Form):
    name = StringField(
    'Username',
    validators=[DataRequired(), Length(min=4, max=25)]
    )
    email = StringField(
    'Email',
    validators=[DataRequired(), Length(min=6, max=40)]
    )
    password = PasswordField(
    'Password',
    validators=[DataRequired(), Length(min=6, max=40)])
    confirm = PasswordField(
    'Repeat Password',
    validators=[DataRequired(), EqualTo('password', message='Passwords must match')]
    )

在我的views.py中,我接下来要注册:

@app.route("/register/", methods=["GET", "POST"])
def register():
    form = RegisterForm(request.form)

    if request.method == "POST" and form.validate_on_submit():

        name = request.form["name"]
        email = request.form["email"]
        password = request.form["password"]

        g.db.connect_db()
        g.db.execute("INSERT INTO users(name, email, password) VALUES (?,?,?)", (name, email, password))
        g.db.commit()
        g.db.close()
    return render_template("register.html", form=form)

我的简单形式:

<form action="/" method="post">
            {{ form.csrf_token }}
              <div class="form-group">
                <label for="usernameInput">Username</label>
                <input type="text" name="name" class="form-control" id="usernameInput">
              </div>
              <div class="form-group">
                <label for="emailInput">Email</label>
                <input type="email" name="email" class="form-control" id="emailInput">
              </div>
              <div class="form-group">
                <label for="passwordInput">Password</label>
                <input type="password" name="password" class="form-control" id="passwordInput">
              </div>
              <div class="form-group">
                <label for="confirmInput">Confirm password</label>
                <input type="password" name="confirm" class="form-control" id="confirmInput">
              </div>
              <button type="submit" class="btn btn-default btn-block">Register</button>
              {% if error %}
                <p class="error"><strong>Error:</strong> {{error}} </p>
              {% endif %}
            </form>

现在我一直在尝试,更改和修复2天,但无法找到问题。当我输入所有数据并单击注册时,我收到400 Bad request。 也许这是愚蠢的事情,我无法看到它。

如果有人可以提供帮助,我会赞不绝口。 如果需要更多信息或代码,请告诉我。

由于

1 个答案:

答案 0 :(得分:0)

您的表单已发布到sa-east-1,而不是/

您尚未显示为/register/定义的路线,但可能不接受POST。