Я пишу приложение Django для использования в стране, где они используют запятую как десятичный разделитель. У меня есть модель, содержащая django.db.models.DecimalField
, и я использую модельных форм. Как я могу сделать полученную визуализацию поля формы с помощью запятой и принять запятую от пользователя?
Следуя советам jweyrich, я обновил свое приложение с Django 1.1 до Django 1.2 и отредактировал мой settings.py
, чтобы он содержал следующее:
LANGUAGE_CODE = 'nb'
LANGUAGES = (
('nb', 'Norwegian'),
)
USE_I18N = True
USE_L10N = True
DECIMAL_SEPARATOR = ','
THOUSAND_SEPARATOR = ' '
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
)
Насколько я вижу, это все, что требует документация. Теперь он работает для форм, если я устанавливаю localization=True
в поле формы. Он не работает ни в формы модели, ни сайт администратора, Однако.
Я обнаружил Django ticket и полученный набор изменений Django до релиза 1.2. Если я правильно их понимаю, раньше это было так, что виджеты автоматически использовали локализацию формата, но после того, как локализация этого патча должна быть включена явно, указав параметр ключевого слова localization=True
в поле формы. Есть ли способ сделать админ-формы установленными localization=True
в своих полях?