输入了用户名和密码,登录不成功,老是提示this field is required

来源:10-1 鱼豆

慕桂英5369657

2019-04-10

图片描述

from app.models.base import db,Base
from app.models.user import User
from . import web
from flask import render_template, request, redirect, url_for, flash
from app.forms.auth import RegisterForm, LoginForm

from flask_login import login_user, logout_user
from werkzeug.security import generate_password_hash
author = ‘hpa’

@web.route(’/register’, methods=[‘GET’, ‘POST’])
def register():
form = RegisterForm(request.form)
if request.method == ‘POST’ and form.validate():
with db.auto_commit():
user = User()
user.set_attrs(form.data)
db.session.add(user)
# db.session.commit()
return redirect(url_for(‘web.login’))
return render_template(‘auth/register.html’, form=form)

@web.route(’/login’, methods=[‘GET’, ‘POST’])
def login():
form = LoginForm(request.form)
if request.method == ‘POST’ and form.validate():
user = User.query.filter_by(email=form.email.data).first()
if user and user.check_password(form.password.data):
login_user(user, remember=True)
next = request.args.get(‘next’)
if not next or not next.startswitch(’/’):
next = url_for(‘web.index’)
return redirect(next)
else:
flash(‘账号不存在或密码错误’)
return render_template(‘auth/login.html’, form=form)

@web.route(’/reset/password’, methods=[‘GET’, ‘POST’])
def forget_password_request():
pass

@web.route(’/reset/password/’, methods=[‘GET’, ‘POST’])
def forget_password(token):
pass

@web.route(’/change/password’, methods=[‘GET’, ‘POST’])
def change_password():
pass

@web.route(’/logout’)
def logout():
logout_user()
return redirect(url_for(‘web.index’))

写回答

2回答

慕慕4401115

2021-11-25

你校验器多校验了一个nickname 字段

0
0

7七月

2019-04-11

这个自己调试一下吧,上面这代码,我真看不出来问题。只能调试,分析问题了。

0
0

Python Flask高级编程之从0到1开发《鱼书》精品项目

7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程

2770 学习 · 1280 问题

查看课程