2014-07-22 65 views
0

我正在使用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()]) 

不幸的是,因为蟒蛇我不能编译无法读取这些特殊字符,这导致了WTForms无法正常工作的结果。无论如何,我可以解决这个问题吗?或者我应该使用基本的表单文章?

谢谢您的建议。

回答

2

有几件事情你应该尝试:

检查,如果你的文件是UTF-8,并添加 # -*- coding: utf-8 -*-到文件的顶部

使用Unicode字符串像u'thestring”

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()])

如果你需要翻译你的应用程序,你应该看看烧瓶巴贝尔:http://pythonhosted.org/Flask-Babel/

+0

谢谢你,解决了问题!另一种方法是,我只是在html模板中打印{{form.username}},但这会限制宏的使用。 – Kiddo

相关问题