后端代码
@user_blueprint.route('/login/', methods=['GET', 'POST'])
def login():
if request.method == 'GET':
return render_template('login.html')
if request.method == 'POST':
mobile = request.form.get('mobile')
password = request.form.get('password')
# 校验参数是否完全
if not all([mobile, password]):
return jsonify(status_code.USER_LOGIN_PARAMS_NOT_EXISTS)
# 校验输入的账号是否是手机号码
if not re.findall(r'^1[34578]\d{9}$', mobile):
return jsonify(status_code.USER_LOGIN_PHONE_IS_NOT_VALID)
# 校验输入的账号是否存在
user = User.query.filter_by(phone=mobile).first()
if not user:
return jsonify(status_code.USER_LOGIN_IS_NOT_EXISTS)
# 校验输入的密码是否正确
if not user.check_pwd(password):
return jsonify(status_code.USER_LOGIN_PASSWORD_IS_NOT_VALID)
# 验证通过 登陆
login_user(user)
flash('登陆成功')
return jsonify(status_code.SUCCESS)
前端代码
{% with messages = get_flashed_messages() %}
{% if messages %}
<ul class="flash">
{% for message in messages %}
<div class="alert alert-success" style="text-align: center">
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
<strong>{{ message }}</strong></div>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
登陆成功效果
屏幕快照 2018-10-15 09.40.50.png刷新或者点击x即可消失
网友评论