【发布时间】:2010-07-08 11:36:14
【问题描述】:
我正在编写一个 Django 应用程序,以便在他们使用逗号作为 decimal separator 的国家/地区使用。我有一个包含django.db.models.DecimalField 的模型,我使用model forms。如何使生成的表单字段使用逗号呈现并接受用户返回的逗号?
按照jweyrich 的advice,我已将我的应用程序从 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',
)
据我所知,这就是the documentation 所要求的全部。如果我在表单字段上设置localization=True,它现在适用于表单。但是,它既不适用于model forms,也不适用于the admin site。
我在 1.2 版本之前发现了 Django ticket 和生成的 Django changeset。如果我理解正确的话,以前小部件会自动使用格式本地化,但在此补丁本地化之后,必须通过向表单字段提供 localization=True 关键字参数来显式打开此补丁本地化。有没有办法让管理表单在他们的字段上设置localization=True?
【问题讨论】:
标签: django