我将字典传递给html django模板:
return render_to_response('showdata.html', context_instance=RequestContext(request, {'dictdati': context} ))
这本词典有这样的结构:
{0: 'TO;DEC;1;2012/02/28 15:39:06.000;TO;1234;SI;DI;1234;TO;1\n', 1: 'TO;DEC;1;2012/02/28 15:39:06.000;TO;567;SI;DI;567;TO;1\n'}
在html模板中,我需要在dict的每一行中打印一些值。如果在python文件中我使用
for key,val in dictdati.items():
print val.split(';')[0]
它正确地打印第一个值(TO),但是在html模板中
{% for key,val in dictdati.items %}
{{ val.split[0] }}
{% endfor %}
在浏览器中我收到错误:
TemplateSyntaxError at /getdata/
Could not parse the remainder: '[0]' from 'val.split[0]'
有人能给我一个解决这个问题的想法吗?
答案 0 :(得分:0)
你不能在django中调用任意逻辑...如果你只需要0,我可能会使用first
过滤器
{{ my_var.split | first }}
答案 1 :(得分:0)
在发送到模板之前,只需烹调数据:
#cooking data on view:
d2 = { k:v.split(";") for k,v in d.items() }
#in template:
{% for key,val in d2.items %}
{{ val|first }}
{% endfor %}