我在使用django的{%trans%}模板函数时遇到了一个问题。我在我的消息文件中翻译了值,在某些情况下它会被翻译。但并不是全部。
我正在试着调试这个问题。我有一个这样的代码块,在其中我迭代表单的字段并输出它们:
<tr>
<td>{{ hdr_data|safe }} {% trans row_field.label_tag %}</td>
<td>{{ row_field }}</td>
<td>{{ row_field.errors}}</td>
</tr>
如果我们假设我想为字符串“ABC”打印_row_field.label_tag_,我已经将其翻译为“ZXF”,那么上面的代码仍然打印“ABC”。但是,如果我这样做:
<tr>
<td>{{ hdr_data|safe }} {% trans ABC %}</td>
<td>{{ row_field }}</td>
<td>{{ row_field.errors}}</td>
</tr>
翻译是可以的——我得到了“ZXF”。
我一直试图检查label_tag有什么问题,实际上是这个字符串:
<label for="id_abc">ABC</label>
难道不应该是仅仅“ABC”吗?这不是我问题的原因吗?如果是这样,为什么有时有效,有时无效?
我的django版本是1.2.1。