Flask中如何使用html文件中现有的表单?

在网上找了一个现成的login html表单,在flask中如何不使用quick_form的方法直接处理html过来的表单数据。

{% extends "loginbase.html" %}

{% block content %}
    <div class="container">
        <div class="row">
            <div class="col-md-4 col-md-offset-4">
                <div class="login-panel panel panel-default">
                    <div class="panel-heading">
                        <h3 class="panel-title">Please Sign In</h3>
                    </div>
                    <div class="panel-body">
                        <form role="form" action="{{ url_for('auth.login') }}" method="post">
                            <fieldset>
                                <div class="form-group">
                                    <input class="form-control" placeholder="E-mail" name="email" type="email"  autofocus>

                                </div>
                                <div class="form-group">
                                    <input class="form-control" placeholder="Password" name="password" type="password"  value="">
                                </div>
                                <div class="checkbox">
                                    <label>
                                        <input name="remember" type="checkbox" value="remember">Remember Me
                                        <a href="index.html" >   Not a member?</a>
                                    </label>
                                </div>
                                <!-- Change this to a button or input when using this as a form 
                                <a href="index.html" class="btn btn-lg btn-success btn-block">Login</a>-->
                                <input name="submit" class="btn btn-lg btn-success btn-block" type="submit" value="Submit">
                            </fieldset>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
{% endblock %}
阅读 5.4k
2 个回答
@auth.route('/login',methods=['GET','POST'])
def login():
    print session
    if 'user_id' in session:
        flash('用户已登录!')
        return redirect('/')
    form = LoginForm(request.form)
    if request.method == "POST":
        user = User.query.filter_by(email=request.form['email']).first()
        if 'remember' not in request.form:
            print 'ok'
        if user is not None and user.verify_password(request.form['password']):
                if 'remember' in request.form:
                    login_user(user,bool(request.form['remember']))
                else:
                    login_user(user)
                flash('登录成功')
                return redirect(url_for('main.index'))
        flash('用户不存在或密码错误')
        print 2
    return render_template('auth/login.html')

表单的action会post一个请求到你服务器,注册一个处理这个url的post方法不就可以了?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题