Я пишу приложение 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 и полученный набор изменений Django по сравнению с выпуском 1.2. Если я правильно их понимаю, раньше было так, что виджеты использовали локализацию формата автоматически, но после этого патча локализацию нужно было явно включить, указав параметр ключевого слова localization=True
в поле формы. Есть ли способ заставить административные формы устанавливать localization=True
на своих полях?