dodotable
项目描述
HTML表格表示SQLAlchemy。
SQLAlchemy to <table>
假设你有一个名为Music的实体。它看起来像下面这样。
class Music(Base):
id = Column(Integer, primary_key=True)
name = Column(Unicode, nullable=False)
以下代码渲染了一个可排序的<table>,由音乐列表组成。
from dodotable.schema import Table, Column
table = Table(
cls=Music,
label='music table',
columns=[
Column(attr='id', label=u'id', order_by='id.desc'),
Column(attr='name', label=u'name'),
],
sqlalchemy_session=session
)
print(table.select(offset=0, limit=10).__html__())
使用Flask
Flask使用Jinja2作为模板引擎。正如他们在文档[1]_中提到的,这是实现__html__在继承dodotable.schema.Renderable的每个类上的策略之一,以直接在Jinja2中将实例转换为HTML。用Flask重写前面的示例。
from dodotable.schema import Table, Column
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/musics/', methods=['GET'])
def list_musics():
table = Table(
cls=Music,
label='music table',
columns=[
Column(attr='id', label=u'id',
order_by=request.args.get('order_by')),
Column(attr='name', label=u'name'),
],
sqlalchemy_session=session
)
return render_template(
'list_musics.html',
table=table.select(limit=request.args.get('limit'),
offset=request.args.get('offset'))
)
并且 list_musics.html 是一个 jinja2 模板,其结构如下。
<html>
<body>
{{ table }}
</body>
</html>
项目详情
关闭
dodotable-0.6.1.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 731bf5bba7e6ef45ffc3d3ddf683cf701b0fbf9d6be5aaa98cc9c5bf2da5f0b1 |
|
MD5 | 4db688a04197cc019422a21d38b1f43d |
|
BLAKE2b-256 | d990e76f3526457bed2cf3ea6270ab809e461a2db9fb32f65e04db4b4da2f18d |