我安装了Jinja2 2.7.3并尝试使用其文件大小来呈现文件列表。
当我使用参数vale时,我得到:
#using {{fs}}
22528
23786
9769
如果我应用filesizeformatter,则输出为0
#using {{fs|filesizeformat}}
0.0 kB
0.0 kB
0.0 kB
对我做错了什么的想法?
模板如下
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>FileBrowser</title>
</head>
<body>
<form action="/admin/filemanager" method="post">
<TABLE>
<TR>
<TD>File</TD>
<TD>Size</TD>
<TD>Size formatted</TD>
</TR>
{% for f in files %}
<TR>
<TD>{{f[0]}}</TD>
<td>{{f[1]}}</td>
<TD>{{f[1]|filesizeformat}}</TD>
</TR>
{% endfor %}
</TABLE>
<input name = "import" type="submit" value="Importar" />
<input name = "delete" type="submit" value="Borrar" />
</form>
通过以下方式拨打电话:
class Handler(webapp2.RequestHandler):
def render_str(self, template, **params):
t = jinja_environment.get_template(template)
return t.render(params)
def render(self, template, **kw):
self.write(self.render_str(template, **kw))
class view(Handler):
def get(self):
files=[['hello.txt',23221],['foo.txt',21211]]
self.render('FileBrowser.html', files=files)
答案 0 :(得分:1)
感谢@davidisn我注意到GAE SDK(和制作版)中已安装的Jinja2版本为2.6
Jinja 2.6在2.7
中修复了fileformatter中的错误只需在我项目的lib folder中手动安装库,一切正常。
希望有人觉得这很有用
答案 1 :(得分:1)
Jinja在版本2.7之前有一个bug with filesizeformat。 GAE默认使用Jinja-2.6,因此您需要升级到更新的版本。