Jinja 2文件大小格式化程序

时间:2015-02-22 10:28:16

标签: google-app-engine jinja2

我安装了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)

2 个答案:

答案 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,因此您需要升级到更新的版本。