Python-Codebeispiel zum Anzeigen von Datenbankinformationen auf einer Webseite basierend auf flask_sqlalchemy

不言
Freigeben: 2018-11-15 14:09:46
nach vorne
3722 Leute haben es durchsucht

Dieser Artikel bietet Ihnen ein Codebeispiel für die Anzeige von Datenbankinformationen auf einer Python-Webseite, das einen gewissen Referenzwert hat. Ich hoffe, dass es für Sie hilfreich ist.

Webseite zeigt Datenbankinformationen an

Verwenden Sie die gerade gelernte flask_sqlalchemy, um die Daten in der Datenbanktabelle auf der Webseite anzuzeigen.
Bevor Sie das Programm starten, stellen Sie sicher, dass die Vorgänge zum Erstellen von Tabellen und Benutzern in der Datenbank ausgeführt wurden. Einzelheiten finden Sie unter Linkbeschreibung.

# 模板文件templates/list.html
{% extends 'base.html' %}
{% block title %}
    显示
{% endblock %}
{% block newcontent %}
Nach dem Login kopieren
                                                           {% 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:>
Nach dem Login kopieren
#主程序
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()
Nach dem Login kopieren

Python-Codebeispiel zum Anzeigen von Datenbankinformationen auf einer Webseite basierend auf flask_sqlalchemy

Das obige ist der detaillierte Inhalt vonPython-Codebeispiel zum Anzeigen von Datenbankinformationen auf einer Webseite basierend auf flask_sqlalchemy. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage