django中文格式错误(或除英语以外的任何语言?)
我想知道表单错误是否可以用中文或其他语言显示 这就是我如何得到我的错误django中文格式错误(或除英语以外的任何语言?),django,Django,我想知道表单错误是否可以用中文或其他语言显示 这就是我如何得到我的错误 {{ form.field_name.errors }} 如果在表单消息中使用uu,则消息将显示在右侧栏中!但是,如果要检查模板中运行的是哪个lang,可以使用: {% if LANGUAGE_CODE != "ch" %} {% endif %} 有关在表单中使用uu的更多信息,请查看以下内容:如果在视图中设置语言,则错误消息将以所选语言打印: from django.utils.translation im
{{ form.field_name.errors }}
如果在表单消息中使用uu,则消息将显示在右侧栏中!但是,如果要检查模板中运行的是哪个lang,可以使用:
{% if LANGUAGE_CODE != "ch" %}
{% endif %}
有关在表单中使用uu的更多信息,请查看以下内容:如果在视图中设置语言,则错误消息将以所选语言打印:
from django.utils.translation import activate
activate('de')
先快速解释一下: 表单字段错误来自
raise forms.ValidationError(_("My Error Message"))
在Django(可能也在其他地方),常见的情况是:
from django.utils.translation import ugettext_lazy as _
这将\u
转换为ugettext\u lazy
,即上面的代码实际上是:
raise forms.ValidationError(ugettext_lazy("My Error Message"))
但为了避免反复输入ugettext_lazy(或您的翻译函数),我们只需将其映射到\u
回答您的问题
最后,回答您关于错误是否可以用中文(或其他语言)显示的问题。这取决于验证错误消息是否传递到django.utils.translation.ugettext。在上面的示例中,如果用户的语言代码是zh tw或zh cn,“我的错误消息”将以中文翻译显示
下面是一个没有翻译的例子:
raise forms.ValidationError("My Error Message")
我强烈推荐阅读:因为你还需要做一些额外的工作才能使译文正确地显示出来。你能给我举个例子吗?我在哪里添加_