使用HTML模板:定义要覆盖范围的字符串数组

时间:2019-04-30 02:22:02

标签: go jinja2

在Jinja2(Python Flask)模板中,我可以通过使用类似于以下代码的元组列表来创建静态导航菜单:

{% for item in [('', 'Home'), ('menu1', 'Menu1'), ('menu2', 'Menu2')] %}
<li><a href="{% if item[0] == '' %}/{% else %}{{ '/%s/' % item[0] }}{% endif %}">{{ item[1] }}</a></li>
{%- endfor %}

我想在Go HTML模板中创建类似的内容。我假设与元组列表等效的是一个字符串数组数组/切片,即类似

{{ $items := { {"", "Home"}, {"menu1", "Menu1"}, {"menu2", "Menu2"} } }}
{{ range $items }}
<li><a href="{{if .[0] == \"\"}}/{{else}}{{ \"/.[0]/\" }}{{end}}">{{ .[1] }}</a></li>
{{end}}

但是,在运行时,特别是当Go尝试解析模板文件时,它会用unexpected "{" in command惊慌(当我直接使用范围时,它曾经用unexpected "{" in range惊慌)。

那么,是否可以在模板中声明字符串数组的数组?

0 个答案:

没有答案