2014-03-28 31 views
2

我在我的模板,得到這個:如何正確使用Jinja2計數/長度沒有錯誤?

<h2> 
    Users ({{ users|length }}) 
</h2> 

而且我也得到了展示用戶的行的循環:

{% for user in users %}  
    <tr> 
     <td> 
      {{ user.email }} 
      etc... 
     </td> 
    </tr> 
    {% endfor %} 

我看不到我在做什麼錯。用戶表很好。但是,當我與長度過濾器添加了H2,我得到這個錯誤:

Traceback (most recent call last): 
    File "/Users/sean/Projects/appcash.me/_git/www/bottle.py", line 856, in _handle 
    return route.call(**args) 
    File "/Users/sean/Projects/appcash.me/_git/www/bottle.py", line 1721, in wrapper 
    rv = callback(*a, **ka) 
    File "/Users/sean/Projects/appcash.me/_git/www/views/admin.py", line 27, in custom_admin_page 
    return template('admin/users.html', users=users) 
    File "/Users/sean/Projects/appcash.me/_git/www/bottle.py", line 3487, in template 
    return TEMPLATES[tplid].render(kwargs) 
    File "/Users/sean/Projects/appcash.me/_git/www/datafly/core.py", line 184, in render 
    return self.tpl.render(**_defaults) 
    File "/Users/sean/Projects/appcash.me/_git/venv/lib/python2.7/site-packages/jinja2/environment.py", line 969, in render 
    return self.environment.handle_exception(exc_info, True) 
    File "/Users/sean/Projects/appcash.me/_git/venv/lib/python2.7/site-packages/jinja2/environment.py", line 742, in handle_exception 
    reraise(exc_type, exc_value, tb) 
    File "<template>", line 3, in top-level template code 
    File "<template>", line 57, in top-level template code 
    File "<template>", line 8, in block "content" 
TypeError: object of type 'Cursor' has no len() 
+0

你能否說明你'如何用長度過濾器添加h2'? – vivekagr

回答

4

你可以試試這個:

{{ users.count() }} 
0

users變量似乎Cursor類型(沒有長度) 。

也許你打算在你的python(不是模板)代碼中做rows = users.fetchall()?然後len(rows)將起作用,您的模板中將會有rows|length