本篇文章给大家带来的内容是关于python基于flask_sqlalchemy的网页显示数据库信息的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
网页显示数据库信息
使用我们刚学习的flask_sqlalchemy,在网页中显示数据库表中的数据。
在开始运行程序前,确保数据库中执行过创建表和创建用户的操作,详见链接描述。
# 模板文件templates/list.html{% extends 'base.html' %}{% block title %} 显示{% endblock %}{% block newcontent %}<table class="table table-striped"> <tr> <th>用户编号</th> <th>用户名称</th> <th>用户密码</th> <th>用户创建时间</th> <th>用户会员类型</th> </tr> {% for user in users %} <tr> <td>{{ user.id }}</td> <td>{{ user.name }}</td> <td>{{ user.passwd }}</td> <td>{{ user.add_time }}</td> <td>{{ user.role.name }}</td> </tr> {% endfor %}</table>{% endblock %}
# 数据库操作文件zaj_sql_models.pyfrom datetime import datetimefrom flask_bootstrap import bootstrapfrom flask_wtf import flaskformfrom flask_sqlalchemy import sqlalchemyfrom flask import flaskimport pymysqlfrom sqlalchemy import descapp = 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)# class student(db.model):# __tablename__ = 'students'# sid = db.column(db.smallint,primary_key=true)# sname = db.column(db.string(50))# sage = db.column(db.integer)class user(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 '<user:%s>' %(self.name)class role(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') # 给role模型添加users属性 # backref 是定义反向引用,可以通过user.role访问user里面的数据 def __repr__(self): return '<role:%s>' % (self.name)if __name__ =='__main__': # 1. 创建数据库表 db.drop_all() db.create_all() # 2. 创建role数据库表数据 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个为普通会员 for i in range(1,13): if 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()
#主程序from flask import flask,render_templatefrom zaj_sql_models import appfrom zaj_sql_models import user@app.route('/')def index(): return render_template('index.html')@app.route('/list/')def list(): users = user.query.all() return render_template('list.html',users=users)if __name__ == '__main__': app.run()
以上就是python基于flask_sqlalchemy的网页显示数据库信息的代码示例的详细内容。