当前位置: 首页 > Web前端 > HTML5

Python大佬开发计划----基于flask_sqlalchemy的网页显示数据库信息

时间:2023-04-05 15:08:45 HTML5

网页显示数据库信息使用我们刚刚学习的flask_sqlalchemy在网页上显示数据库表中的数据。在开始运行程序之前,请确保已经在数据库中进行了创建表和创建用户的操作,详见链接说明。#模板文件templates/list.html{%extends'base.html'%}{%blocktitle%}display{%endblock%}{%blocknewcontent%}用户编号用户名用户密码用户创建时间用户成员类型{%foruserinusers%}{{user.id}}{{user.name}}{{user.passwd}}{{user.add_time}}{{user.role.name}}{%endfor%}{%endblock%}#数据库操作文件zaj_sql_models.pyfromdatetimeimportdatetimefromflask_bootstrapimportBootstrapfromflask_wtfimportFlaskFormfromflask_sqlalchemyimportSQLAlchemyfromflaskimportFlaskimportpymysqlfromsqlalchemyimportdescapp=Flask(__name__)db=SQLAlchemy(app)app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://root:sheen@localhost/zaj_sql'app.config['SQLALCHEMY_TRACK_MODIFICATIONS']=Truebootstrap=Bootstrap(app)#classStudent(db.Model):#__tablename__='students'#sid=db.Column(db.SMALLINT,primary_key=True)#sname=db.Column(db.String(50))#sage=db.Column(db.Integer)classUser(db.Model):id=db.Column(db.Integer,autoincrement=True,primary_key=True)name=db.Column(db.String(50),unique=True)passwd=db.Column(db.String(100))add_time=db.Column(db.DATETIME,default=datetime.now())gender=db.Column(db.BOOLEAN,default=True)role_id=db.Column(db.INTEGER,db.ForeignKey('role.id'))def__repr__(self):return''%(self.name)classRole(db.Model):id=db.Column(db.INTEGER,autoincrement=True,primary_key=True)name=db.Column(db.String(50),unique=True)users=db.relationship('User',backref='role')#给角色模型typeaddusersattribute#backref是定义一个反向引用,可以通过User.role访问User中的数据def__repr__(self):return''%(self.name)if__name__=='__main__':#1.创建数据库表db.drop_all()db.create_all()#2.创建角色数据库表数据role_1=Role(name='超级会员')role_2=Role(name='普通会员')db.session.add(role_1)db.session.add(role_2)db.session.commit()###3.在user表中添加数据,100个用户,50个是超级会员,50个是普通会员foriinrange(1,13):如果i%2==0:u=User(name='sheen'+str(i),passwd='sheen',role_id=1)db.session.add(u)else:u=User(name='star'+str(i),passwd='star',role_id=2)db.session.add(u)db.session.commit()#mainprogramfromflaskimportFlask,render_templatefromzaj_sql_modelsimportappfromzaj_sql_modelsimportUser@app.route('/')defindex():returnrender_template('index.html')@app.route('/list/')deflist():users=User.query.all()返回render_template('list.html',users=users)如果__name__=='__main__':app.run()