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)