django - 在模板中生成重复值/错误代码的更好方法?

时间:2011-11-14 21:45:55

标签: django-forms django-templates

还在学习django和python ......

我有一个包含许多字段的表单。我想把它们分别放在两个字段的行中,并且我正在使用表来这样做。我不能简单地遍历所有字段,因为我希望对某些事情进行更好的控制。

基本上,我要输出一行两个字段,然后如果这些字段中有任何错误,则生成包含错误的第二行。

在模板中,我一遍又一遍地重复以下模式:

 <tr>
     <td class="labels">Order Number:</td><td class="textentry">{{ order.ordernum }}</td>
     <td class="labels">Order Status:</td><td class="textentry">{{ order.status }} </td>
 </tr>
     {% if order.ordernum.errors %}
        {% for error in order.ordernum.errors %}
            <tr class="errors"><td colspan=2> {{ error|escape }}</td>
        {% endfor %}
        {% if order.status.errors %}
           {% for error in order.status.errors %}
              <td colspan=2> {{ error|escape }}</td>
           {% endfor %}
        {% endif %}
        </tr>
     {% endif %}

其中从重复模式到重复模式的所有变化都是特定的字段名称。

重复使我想知道:在模板中有更好的方法吗?有没有办法从模板中调用函数,我可以传入字段名称?

感谢您的帮助!

W上。

1 个答案:

答案 0 :(得分:0)

对于任何有兴趣的人,我不知道是否有更好的解决方案,但模板宏a la djangosnippets.org/snippets/363就是我解决这个问题的方法。