PooHВ FormEncode 6.1 это уже будет “из коробки” - я им русский перевод отправлял.
Собственно, как?
PooHОпечатка, конечно ;-)
Хмм… 6.0? Это не опечатка?
PooHЭта ошибка уж точно не имеет ничего общего с валидаторами ;-)
на cheeseshop.python.org лежит 0.6, с ним у меня не работает :(
>> exceptions.UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 0-13: ordinal not in range(128)
PooHNumber и Int я не использовал, сейчас проверять некогда, но с NotEmpty и Email у меня такой подход работает.
class Number(validators.Number):
messages = {
‘number’: u“Введите число”,
}
v = Number()
v .to_python('tt')
>> Invalid: Please enter a number
OldDerЭто я действительно маху дал.PooHЭта ошибка уж точно не имеет ничего общего с валидаторами ;-)
>> exceptions.UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 0-13: ordinal not in range(128)
class Int1(validators.Int): messages = {'integer': u'Введите целое число'} v = Int1() tt=v.to_python('tt')
pythonwinА у меня кроме линухи и нет ничего ;)
этот попробуй
с кодировкой проблема - выводит в cp1251 - попробуйте на линухе - может будет нормально выводить в utf-8…
import turbogears import formencode class Number_ru(formencode.validators.Number): messages = { 'number': 'Введите число', } class Number3(turbogears.validators.FancyValidator): def _to_python(self, value, state): """ parse a string and returns a float or integer """ try: value = turbogears.validators.format.parse_decimal(value) except ValueError: pass nb = Number_ru() return nb._to_python(value, state) def _from_python(self, value, state): """ returns a string using the correct grouping """ dec_places = turbogears.util.find_precision(value) if dec_places > 0: return turbogears.validators.format.format_decimal(value, dec_places) else: return turbogears.validators.format.format_number(value)
import turbogears import formencode class Number_ru(formencode.validators.Number): messages = { 'number': 'Введите число', } class Number(turbogears.validators.FancyValidator): nb_class = formencode.validators.Number def _to_python(self, value, state): """ parse a string and returns a float or integer """ try: value = turbogears.validators.format.parse_decimal(value) except ValueError: pass nb = self.nb_class() return nb._to_python(value, state) def _from_python(self, value, state): """ returns a string using the correct grouping """ dec_places = turbogears.util.find_precision(value) if dec_places > 0: return turbogears.validators.format.format_decimal(value, dec_places) else: return turbogears.validators.format.format_number(value) v = Number() v.nb_class = Number_ru try: tt=v.to_python('tt') print tt del tt except Exception, e: print e