如何为WTForms字段使用特殊字符(其他语言)?

时间:2014-07-22 07:32:10

标签: python flask wtforms

我使用WTForms为我的烧瓶应用程序。但是应用程序是用另一种语言编写的,因此它包含许多特殊字符。所以对于我的表格,我有:

class RegistrationForm(Form):
    username     = TextField('Username', [validators.Length(min=4, max=25)])
    email        = TextField('Email Address', [validators.Length(min=6, max=35)])
    accept_rules = BooleanField('I accept the site rules', [validators.Required()])

但是我想将用户名,电子邮件地址等翻译成我的语言,所以它应该如下所示:

class RegistrationForm(Form):
    username     = TextField('Tên', [validators.Length(min=4, max=25)])
    email        = TextField('Địa Chỉ', [validators.Length(min=6, max=35)])
    accept_rules = BooleanField('Chấp Nhận', [validators.Required()])

不幸的是我无法编译它,因为python无法读取那些特殊的字符,这导致WTForms无法正常工作的结果。无论如何我能解决这个问题吗?或者我应该使用基本表格帖子吗?

感谢您的建议。

1 个答案:

答案 0 :(得分:3)

你应该尝试一些事情:

检查您的文件是否为UTF-8,然后添加 # -*- coding: utf-8 -*-位于文件顶部

使用像u'thestring'

这样的unicode字符串

class RegistrationForm(Form): username = TextField(u'Tên', [validators.Length(min=4, max=25)]) email = TextField(u'Địa Chỉ', [validators.Length(min=6, max=35)]) accept_rules = BooleanField(u'Chấp Nhận', [validators.Required()])

如果您需要翻译自己的应用,请查看Flask-babel:http://pythonhosted.org/Flask-Babel/