Maison  >  Article  >  développement back-end  >  Exemple de code Python pour afficher les informations de la base de données sur une page Web basée sur flask_sqlalchemy

Exemple de code Python pour afficher les informations de la base de données sur une page Web basée sur flask_sqlalchemy

不言
不言avant
2018-11-15 14:09:463715parcourir

Ce que cet article vous apporte est un exemple de code pour afficher les informations de la base de données sur une page Web Python basée sur flask_sqlalchemy. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

La page Web affiche les informations de la base de données

Utilisez le flask_sqlalchemy que nous venons d'apprendre pour afficher les données dans la table de la base de données sur la page Web.
Avant de commencer à exécuter le programme, assurez-vous que les opérations de création de tables et d'utilisateurs ont été exécutées dans la base de données. Pour plus de détails, voir Description du lien.

# 模板文件templates/list.html
{% extends 'base.html' %}
{% block title %}
    显示
{% endblock %}
{% block newcontent %}
                                                           {% for user  in users %}                                                                                        {% endfor %}
用户编号用户名称用户密码用户创建时间用户会员类型
{{ user.id }}{{ user.name }}{{ user.passwd }}{{ user.add_time }}{{ user.role.name }}
{% endblock %}
# 数据库操作文件zaj_sql_models.py
from datetime import datetime
from flask_bootstrap import Bootstrap
from flask_wtf import FlaskForm
from flask_sqlalchemy import SQLAlchemy
from flask import Flask
import pymysql
from sqlalchemy import desc

app = Flask(__name__)
db = SQLAlchemy(app)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:sheen@localhost/zaj_sql'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
bootstrap = 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:>' %(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:>' % (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()</role:></user:>
#主程序
from flask import Flask,render_template
from zaj_sql_models import app

from 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()

Exemple de code Python pour afficher les informations de la base de données sur une page Web basée sur flask_sqlalchemy

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer