将Python对象转换为HTML (表或框架集)以在django中呈现
对于如何通过任意python对象属性迭代并将其呈现为html,有什么建议吗?不需要调用任何方法。对象将包含:字符串、整数、日期时间、这些类型的列表以及其他类似的python对象(不同的类,但仍然是字符串、整数、日期时间、列表.)。筑巢深度可达5-6级。
我希望呈现为html (类似于表或框架集等),并在html中为将来的CSS设置class / id (在这个问题中不需要深入研究css )。下面是一个简化的示例Python对象:
name : Mr sandman
addr :
street 1: 123 main st
street 2: None
city : Los angeles
state : ca
zip : 90001
events :[
date_of_birth : datetime(2013, 01, 01) ,
date_of_grad : None
]
is_married : False
has_children : None
awards:[
(award:
name : bravery
date : datetime(2010,01,01)),
(award:
name : courage
date : None ),
]或者,将类似的json呈现到html也是有帮助的。
发布于 2014-04-03 03:54:47
最简单的方法是首先将python对象转换为JSON。然后使用多个json到html转换器中的一个。例:https://github.com/bloopletech/json2html/tree/master
演示output
因为python对象包括datetime类型,所以需要首先对json解码器进行扩展。
import json
def extend_json(obj):
if isinstance(obj, date):
return str(obj)
elif isinstance(obj, datetime):
return obj.strftime("%Y-%m-%d %H:%M:%S")
elif isinstance(obj, Decimal):
return float(obj)
data = json.dumps(obj, indent=4, sort_keys=True, default=extend_json)https://stackoverflow.com/questions/22827118
复制相似问题