2011-08-29 57 views
0

我有一个简单而令人沮丧的问题:Django的模板 - 直列POST作为超级链接逻辑

在我的模板

我:

{% for lang in LANGUAGES %} 

    {% if lang.0 != LANGUAGE_CODE %} 
     <input type="hidden" name="language" value="{{ lang.0 }}"> 
     <a href=# onclick="submitPostLink()">{{ lang.1 }}</a> | 
    {% else %} 
     {{ lang.1 }} 
    {% endif %} 
{% endfor %} 

语言切换工作正常,它只是在管式分离机是我想要分开可以选择的两种语言并不停留在中间。很明显,当第一个语句在第一个实例中被评估为false时,链接的选项将被最后写入,并且管道将显示在最后。有没有人有一个简单的方法来获得固定在两者之间的两个条件的管道分离器?

回答

0

也许尝试使用forloop counter ...? ...不在最后一项中写分隔符

{% for lang in LANGUAGES %} 

    {% if lang.0 != LANGUAGE_CODE %} 
     <input type="hidden" name="language" value="{{ lang.0 }}"> 
     <a href=# onclick="submitPostLink()">{{ lang.1 }}</a> 
    {% else %} 
     {{ lang.1 }} 
    {% endif %} 

    {% if forloop.last != true %} 
    | 
    {% endif %} 

{% endfor %} 
+0

好主意。但是,这会在每个语言选项之后产生管道。 –

+0

奇怪的是,'{%if forloop.first == true%} | {%endif%}'不生成管道。 –

+0

你可以发布语言菜单应该是什么样子吗(比如链接|主动链接|链接?),不知道我是否掌握了 – mreq