Django 翻译问题 - 并不在所有情况下有效

0 投票
1 回答
560 浏览
提问于 2025-04-16 11:32

我在使用Django的{% trans %}模板功能时遇到了问题。我在消息文件中翻译了一些值,有时候能正确翻译,但并不是所有情况都能翻译。

我正在尝试调试这个问题。我有一段代码,里面我在遍历表单的字段并输出它们:

<tr>
        <td>{{ hdr_data|safe }} {% trans row_field.label_tag %}</td>
        <td>{{ row_field }}</td>
        <td>{{ row_field.errors}}</td>
    </tr>

假设我想打印_row_field.label_tag_这个字符串“ABC”,我已经把它翻译成“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。

1 个回答

1

field.label_tag 会把你的标签放在一个 <label> 标签 里面。如果你只想要文本内容,可以用 field.label。详细说明可以在 这里 找到。

撰写回答