Jinja2 文件大小格式化程序

Jinja 2 filesize formatter

我安装了 Jinja2 2.7.3 并尝试呈现文件列表及其文件大小。

当我只使用参数值时,我得到:

#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)

感谢 @davidisn 我能够注意到 GAE SDK(和生产)中安装的 Jinja2 版本是 2.6

Jinja 2.6 在文件格式化程序中有一个错误,已在 2.7

中修复

刚刚在我的项目 lib folder 中手动安装了库,一切正常。

希望有人觉得这有帮助

Jinja 在 2.7 版之前有 bug with filesizeformat。 GAE 默认使用 Jinja-2.6,因此您需要升级到更新的版本。