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

查看:99
本文介绍了python - 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 %}

解决方案

@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')

这篇关于python - Flask中如何使用html文件中现有的表单?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆