Google app engine Jinja 2文件大小格式化程序

Google app engine Jinja 2文件大小格式化程序,google-app-engine,jinja2,Google App Engine,Jinja2,我已经安装了Jinja2 2.7.3,并试图以文件大小呈现文件列表 当我仅使用参数vale时,我得到: #using {{fs}} 22528 23786 9769 如果应用FILESIZEFORMATER,则输出为0 #using {{fs|filesizeformat}} 0.0 kB 0.0 kB 0.0 kB 知道我做错了什么吗 模板如下 <!DOCTYPE html> <html lang="es"> <head> <met

我已经安装了Jinja2 2.7.3,并试图以文件大小呈现文件列表

当我仅使用参数vale时,我得到:

#using {{fs}}

22528
23786
9769
如果应用FILESIZEFORMATER,则输出为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>
多亏了,我才注意到GAE SDK(和生产)中安装的Jinja2版本是2.6

Jinja 2.6在fileformatter中有一个bug,该bug已在中修复

只是在我的项目中手动安装了库,一切正常

希望有人觉得这很有帮助

Jinja在2.7之前都有一个版本。GAE默认使用Jinja-2.6,因此您需要升级到新版本

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)