Опция поля формы модели Django для заглавной буквы и автоматической обрезки - PullRequest
0 голосов
/ 03 февраля 2012

Есть ли варианты для поля формы, чтобы любой ввод автоматически преобразовывался в заглавную букву и обрезался из пробелов в начале и конце?

Если нет, какова наилучшая практика применения вышеуказанных опций?

1 Ответ

1 голос
/ 03 февраля 2012

Вы можете просто переопределить метод clean.

class MyForm(forms.Form):
    def clean(self):
         return dict([(k, v.strip().upper()) for k, v in self.cleaned_data.items()])

Обратите внимание, что это будет запускаться / после / проверки отдельных полей.

Для предотвращения ошибок с датами

def clean(self):
     result = {}
     for k, v in self.cleaned_data.items():
         try:
             result[k] = v.strip().upper()
         except AttributeError:
             result[k] = v
     return result     

Вы также можете проверить, является ли значение isinstance(value, basestring), и работать только с ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...