在Django temp中使用split

2024-04-20 13:27:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个传递给html django模板的字典:

return render_to_response('showdata.html', context_instance=RequestContext(request, {'dictdati': context} ))

本词典的结构如下:

^{pr2}$

在一个html模板中,我需要打印dict的每一行中的一些值

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]'

有人能给我一个解决这个问题的主意吗?在


Tags: todjangokeyin模板forreturn字典
2条回答

你不能用django来调用任意逻辑。。。如果您只想要第0个,这可能是后端的一个工作,但我认为您可以使用first筛选器

{{ my_var.split | first }}

只需在发送到模板之前对数据进行烹饪:

#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 %}

相关问题 更多 >