python – 如何本地化我的WTForms验证消息?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 如何本地化我的WTForms验证消息?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2101字,纯文字阅读大概需要4分钟。
内容图文
![python – 如何本地化我的WTForms验证消息?](/upload/InfoBanner/zyjiaocheng/731/3e281a0bdf1c4970878b383396861c46.jpg)
我几乎得到了我的验证消息本地化,因为你可以看到它适用于英语和瑞典语:
英语:
瑞典:
但是当我切换到葡萄牙语时,我收到以下错误消息:
Traceback (most recent call last):
File "/media/Lexar/montao/lib/webapp2/webapp2.py", line 545, in dispatch
return method(*args, **kwargs)
File "/media/Lexar/montao/montaoproject/main.py", line 1749, in post
current_user=self.current_user,
File "/media/Lexar/montao/montaoproject/main.py", line 466, in render_jinja
self.response.out.write(template.render(data))
File "/media/Lexar/montao/montaoproject/jinja2/environment.py", line 894, in render
return self.environment.handle_exception(exc_info, True)
File "/media/Lexar/montao/montaoproject/templates/insert_jinja.html", line 249, in top-level template code
<ul class="errors">{% for error in form.name.errors %}<li>{{ error }}</li>{% endfor %}</ul>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
我想我以前有这个错误信息,我不知道如何处理它.请你帮助我好吗?为什么会出现此错误消息?
我的表单类的代码是
class AdForm(Form):
my_choices = [('1', _('VEHICLES')), ('2', _('Cars')), ('3', _('Bicycles'))]
name = TextField(_('Name'), [validators.Length(min=4, max=50,
message=_(u'Name is required') )])
title = TextField(_('title'), [validators.Required()])
text = TextAreaField(_('Text'), widget=TextArea())
phonenumber = TextField(_('Phone number'))
phoneview = BooleanField(_('Display phone number on site'))
price = TextField(_('Price'))
password = PasswordField(_('Password'))
email = TextField(_('Email'))
category = SelectField(choices = my_choices, default = '1')
我的.po文件中的翻译部分是
msgid "Name is required"
msgstr "é necessário o nome"
我的python文件就是这样开始的
#!/usr/bin/python
# -*- coding: utf-8 -*-
而AFAIK我已经尽力设置unicode和utf-8.
感谢您的帮助
解决方法:
如果您希望能够在翻译中使用unicode字符,则需要使用ugettext_lazy实用程序函数而不是gettext_lazy.
正如函数名提示的那样,主要区别在于,当gettext_lazy不是时,ugettext_lazy是unicode(顺便说一下它没那么有用).
当你在它的时候,你可以/应该尽可能使用unicode而不是默认字符串,也就是说,将输入转换为unicode ASAP,并尽可能晚地将输出编码为相关的编码.
内容总结
以上是互联网集市为您收集整理的python – 如何本地化我的WTForms验证消息?全部内容,希望文章能够帮你解决python – 如何本地化我的WTForms验证消息?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。