我正在使用YouTube Data API。我正在尝试使用Google App Engine上的jinja2从我的HTML中的视频统计信息中显示viewCount。
当我在模板中指定常量值时,如:
{{ '{0:,}'.format(1234567890) }}
输出正常:
1,234,567,890
但是,如果我将代码指定为:
{{ '{0:,}'.format(video_item.statistics.viewCount) }}
它不起作用并显示内部服务器错误:
{{ '{0:,}'.format(vivi.statistics.viewCount) }}, ValueError: Cannot specify ',' with 's'.
我不确定这意味着什么。
然而,
{{video_item.statistics.viewCount}}
正常工作。有人可以帮帮我吗?感谢
答案 0 :(得分:10)
@ matthias-eisen thankx的回答。它工作正常。在Jinja2中,int(some_string)
不起作用。我用过:
some_string | int
所以我的问题应该是:
{{ '{0:,}'.format(video_item.statistics.viewCount | int) }}
答案 1 :(得分:3)
API将viewCount作为字符串传递(请参阅https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?part=statistics&id=I90H3dN2HbI&_h=2&)。
处理程序内部:
view_count = '{0:,}'.format(int(video_item.statistics.viewCount))
模板内部:
{{ view_count }}
另外:http://docs.python.org/2/library/string.html#format-specification-mini-language