tornado 模板加载一段json数据格式显示问题
我在一个tornado应用的handler中从mongodb中读到了一个集合的所有文档,将转换成了json格式,然后我用这些json数据为传入了tornado模板中,显示在了浏览器中。
handler的代码是样的:
class MainHandler(BaseHandler):
def get(self):
codes = self.db.code.find()
result = json.dumps(list(codes),
default=json_util.default,
sort_keys=True,
ensure_ascii=False,
indent=4)
print result
self.render('index.html', content = result)
浏览器中显示是这样的:
就是一个没换行的状态。
在终端打印时,却又是换了行的:
记得在django中,可以使用content.linebreaks
来换行换行之类的,在tornado中,却没找到这种方法。
烦请帮助一下。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
很简单啊, 前端显示的时候用
<
pre> 标签即可!
应该和json类库的操作有关吧? 你看看json.dump的参数里有没有相关的项。另:为啥你需要换行呢?终端换行还可猜测这个需求,毕竟是方便查看,一般前端里接收到到的都无需换行吧。
dumps
的时候,是不会加缩进之类的。你的dumps
指定了indent=4
。indent
参数针对打印输出时候的format
。具体可以看文档:
还有一个比较好的工具,标准库
pprint
用来print
对象的时候显示更美观:如@喵喵大老鼠所说,通过添加
<pre>
这个元素,就可以实现换行了,效果是样的:我使用的是Bootstrap框架,然后观察了一下css的样式,原来在Bootstrap中设置好了的:
里面有两个属性起到了换行的作用,一个是
word-break
,另一个是word-wrap
。这有一篇关于这个属性的用法与区别,一起贴上来。
http://www.cnblogs.com/Kingle/p/3702249.html
再次感谢大家的深情回复