python - Flask中如何使用html文件中现有的表单?
本文介绍了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屋!
查看全文