【发布时间】:2013-10-04 17:30:06
【问题描述】:
我是 Python 新手,但我想快速理解它。 目前我正在 Openshift 平台上开发 Flask+SQLAlchemy+PostgreSQL+jQuery。 而且我发现在这里尝试使用这个 jQuery 插件 datatables.net 很困难:
http://datatables.net/release-datatables/examples/server_side/server_side.html
服务器端的例子是用 PHP 编写的,我可以很好地理解它,但是我在将它翻译成 Python 时遇到了问题。目前我对 Python Dict(据我所知可以与 JSON 相媲美)数据结构的理解并不好。
我现在正在翻译它,但如果你能告诉我正确的 python 代码来做这件事,我会很高兴
编辑 1 在阅读并使用 dict 上的 Python 文档后,我可以使用常规的 python dict + json.dumps() 构建准确的 JSON 数据:
@app.route ('/dataset/users')
def dataset_users():
data = {}
data['aaData']=[]
data['iTotalRecords']=3
data['sEcho']=1
data['iTotalDisplayRecords']=1
data['aaData'].append(['Gecko', 'FFox', 'Win', '1.1','A'])
data['aaData'].append(['Webkit', 'Safari', 'OSX', '3','B'])
data['aaData'].append(['IE', 'IE', 'Win', '2','C'])
return json.dumps(data)
现在正在使用 SQLAlchemy + Flask 对结果集进行 jsonify 处理
编辑 2 这些是我当前符合 jquery 数据表插件的烧瓶+sqlalchemy 代码:
@app.route ('/dataset/users')
def dataset_users():
data = {}
data['iTotalRecords'] = 2
data['sEcho'] = 1
data['iTotalDisplayRecords'] = 2
aaData = []
users=models.Users.query.with_entities(
models.Users.id, models.Users.username,
models.Users.email).order_by(models.Users.username).all()
for user in users:
aaData.append([user.id, user.username, user.email, 'Modify'])
data['aaData']=aaData
return json.dumps(data)
我相信我们可以精简代码,使其不再使用 for 循环。有什么想法吗?
【问题讨论】:
-
我在这个问题中没有看到任何涉及 twitter-bootstrap 的内容。
-
请原谅我,因为我是 Bootstrap + Python 的新手,但 datatables.net 不是一个引导程序 .. 等一下。这是一个jQuery插件。感谢您的关注。我会改写我的问题
标签: jquery python json sqlalchemy flask