我有一个Django网站,我在views.py文件中使用了这样的列表:
EventsList = []
EventsList.append({'ipaddress':'192.168.200.1', 'starttime':'02/12/2013 13:59:42', 'endtime':'02/12/2013 14:59:42'});
EventsList.append({'ipaddress':'192.168.200.2', 'starttime':'02/12/2013 13:59:42', 'endtime':'02/12/2013 14:59:42'});
EventsList.append({'ipaddress':'192.168.200.3', 'starttime':'02/12/2013 13:59:42', 'endtime':'02/12/2013 14:59:42'});
在我的HTML页面上,我希望执行以下操作:
<p><b>{% blocktrans with len(EventsList) as Count %}{{ Count }}</b> events detected from <b>{{ first_session_start_time }}</b> to <b>{{ last_session_end_time }}</b>.{% endblocktrans %}</p>
但我在页面加载时遇到错误:
Exception Type: TemplateSyntaxError
Exception Value:
Could not parse the remainder: '(Events)' from 'len(Events)'
我该如何解决这个问题?
答案 0 :(得分:1)
你做错了。在模板中,您需要length模板标记:
<p><b>{% blocktrans with EventsList|length as Count %}{{ Count }}</b> events detected from <b>{{ first_session_start_time }}</b> to <b>{{ last_session_end_time }}</b>.{% endblocktrans %}</p>
在模板中,您无法执行Python代码。模板语言有自己处理事物的方式。