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

不言
Libérer: 2018-11-15 14:09:46
avant
3722 Les gens l'ont consulté

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 %}
Copier après la connexion
                                                           {% 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:>
Copier après la connexion
#主程序
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()
Copier après la connexion

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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal