mysql ‘str’对象没有属性‘User_Loader’[Closed]

e7arh2l6  于 2022-12-10  发布在  Mysql
关注(0)|答案(2)|浏览(108)

**已关闭。**此问题为not reproducible or was caused by typos。它目前不接受答案。

这个问题是由打字错误或不能再复制的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式对未来的读者不太可能有帮助。
两天前关门了。
Improve this question
我在Covid医院系统上创建了一个DBMS项目,但我似乎不知道为什么会出现这个错误,以下是我的代码:

from flask import Flask,redirect,render_template,request
from flask_sqlalchemy import SQLAlchemy  
from flask_login import UserMixin
from flask_login import login_required,logout_user,login_user,login_manager,LoginManager,current_user

#database connection
local_server=True
app=Flask(__name__)
app.secretkey="adarshacharya"

#unique access
login_manager=LoginManager()
login_manager.init_app(app)
login_manager=login_view='login'

app.config["SQLALCHEMY_DATABASE_URI"]='mysql://root:@localhost/covidata'
db=SQLAlchemy(app)

@login_manager.user_loader
def load_user(user_id):
    return patient_details.query.get(int(user_id))

class patient_details(db.Model):
    pid=db.Column(db.Integer, primary_key=True)
    Email=db.Column(db.String(50),unique=True)
    Password=db.Column(db.String(50))
    FirstName=db.Column(db.String(50))
    LastName=db.Column(db.String(50))
    Contact=db.Column(db.String(10),unique=True)
    Age=db.Column(db.Integer)

@app.route("/")
def home():
    return render_template("index.html")

@app.route("/patientregistration")
def PatientRegistration():
    return render_template('patientregistration.html')

@app.route("/patientlogin")
def PatientLogin():
    return render_template('patientlogin.html')

@app.route('/registration',methods=['POST','GET'])
def registration():
    if request.method=="POST":
        patientid=request.form.get('Pid')
        pemail=request.form.get('Pemail')
        ppassword=request.form.get('PPassword')
        pfirstname=request.form.get('PFirstName')
        plastname=request.form.get('PLastName')
        pcontact=request.form.get('PContact')
        page=request.form.get('PAge')
        print(patientid,pemail,ppassword,pfirstname,plastname,pcontact,page)
        return render_template("patientregistration.html")

app.run(debug=True)

这就是错误:
@LOGIN_MANAGER.USER_LOADER AttributeError:‘Str’对象没有属性‘USER_LOADER’`
我已经尝试了我遇到的所有修复方法,但这些似乎都不能解决问题:(,任何帮助都将不胜感激

pxy2qtax

pxy2qtax1#

你的问题可能出在这条线上,

login_manager=login_view='login'

改成,

login_manager.login_view='login'
svmlkihl

svmlkihl2#

尝试将“UserMixin”作为参数传递给Patient_Detailures对象

class patient_details(db.Model, UserMixin):
   pid = db.Column(db.Integer, primary_key=True)
   Email = db.Column(db.String(50),unique=True)
   Password = db.Column(db.String(50))
   FirstName = db.Column(db.String(50))
   LastName = db.Column(db.String(50))
   Contact = db.Column(db.String(10),unique=True)
   Age = db.Column(db.Integer)

也试一下Charles给出的解决方案

相关问题