Python 我正在我的flask应用程序中创建注册页,但未定义登录管理器
我正在制作一个烧瓶聊天网站,目前,我正在尝试创建一个登录/注册页面,但我一直收到这个错误Python 我正在我的flask应用程序中创建注册页,但未定义登录管理器,python,flask,web,Python,Flask,Web,我正在制作一个烧瓶聊天网站,目前,我正在尝试创建一个登录/注册页面,但我一直收到这个错误 File "C:\Users\asadp\OneDrive\Desktop\Website-Codemy\app.py", line 49, in <module> @login_manager.user_loader NameError: name 'login_manager' is not defined 文件“C:\Users\asadp\OneDriv
File "C:\Users\asadp\OneDrive\Desktop\Website-Codemy\app.py", line 49, in <module>
@login_manager.user_loader
NameError: name 'login_manager' is not defined
文件“C:\Users\asadp\OneDrive\Desktop\Website Codemy\app.py”,第49行,在
@登录\u manager.user\u加载程序
NameError:未定义名称“登录\u管理器”
代码
--snip--
lm = LoginManager()
lm.init_app(app)
class Users(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, nullable=False)
email = db.Column(db.String, nullable=False)
password = db.Column(db.String, nullable=False)
def __repr__(self):
return '<Name %r>' % self.id
--snip--
@login_manager.user_loader
def load_user(user_id):
return User.get(user_id)
@app.route('/signup', methods=["POST", "GET"])
def signup():
title = "Signup"
if request.method == "POST":
user_name = request.form['name']
user_password = request.form['password']
user_email = request.form['email']
new_user = Friends(name=user_name, password=user_password)
try:
db.session.add(new_user)
db.sesssion.commit()
except:
return "There was an error"
else:
return render_template("signup.html")
--snip--
app.run()
——剪断--
lm=LoginManager()
lm.init_应用程序(应用程序)
类用户(db.Model):
id=db.Column(db.Integer,主键=True)
name=db.Column(db.String,null=False)
email=db.Column(db.String,null=False)
password=db.Column(db.String,nullable=False)
定义报告(自我):
返回“%self.id”
--剪断--
@登录\u manager.user\u加载程序
def加载用户(用户id):
返回User.get(用户\u id)
@app.route('/signup',methods=[“POST”,“GET”])
def signup():
title=“注册”
如果request.method==“POST”:
user_name=request.form['name']
user\u password=request.form['password']
用户_email=request.form['email']
新用户=朋友(名称=用户名,密码=用户密码)
尝试:
db.session.add(新用户)
db.sessession.commit()
除:
return“出现错误”
其他:
返回呈现模板(“signup.html”)
--剪断--
app.run()
请告诉我怎么修
我是烧瓶的初学者,如果您能尽快回复,我将不胜感激
提前感谢发生这种情况是因为您尚未定义变量
login\u manager
如果已将LoginManager
的实例存储在名为login\u manager
的变量中,则应使用@login\u manager.user\u loader
。但在示例代码中,您使用了一个名为lm
的变量。为了修复它,您应该更改:
@login_manager.user_loader
def load_user(user_id):
return User.get(user_id)
到
或,您可以更改
lm = LoginManager()
lm.init_app(app)
到
这取决于你
lm = LoginManager()
lm.init_app(app)
login_manager = LoginManager()
login_manager.init_app(app)