나는 쉼표를 decimal separator으로 사용하는 국가에서 사용할 장고 앱을 작성하고 있습니다. django.db.models.DecimalField
이 포함 된 모델이 있는데 model forms을 사용합니다. 결과 폼 필드를 쉼표로 렌더링하고 사용자가 쉼표를 사용하도록하려면 어떻게합니까?Django 양식에서 쉼표를 소수 구분 기호로 사용합니다.
가 advicejweyrich의 다음, 나는 1.2 장고에 장고 1.1에서 내 응용 프로그램을 업그레이드하고 다음 포함하도록 내 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.27 릴리스 전의 결과는 Django ticket이고 그 결과는 Django changeset입니다. 필자가 올바르게 이해했다면, 위젯이 자동으로 형식 현지화를 사용했지만, 양식 필드에 localization=True
키워드 매개 변수를 지정하여이 패치 현지화를 명시 적으로 켜야했습니다. 관리자 양식을 해당 필드에 localization=True
으로 설정하는 방법이 있습니까?
훌륭하고 우아한 솔루션. – scum
나는 이것을 mixin :'LocalizationMixin (object) : ...'와'FooForm (LocalizationMixin, forms.ModelForm)'으로 만들고 싶다. 'FooForm (LocalizationMixin, floppyforms.ModelForm)' – Webthusiast
Models에서 직접 현지화를 사용하려면 어떻게해야합니까? ModelForms 아닙니다. 사용 사례 : 데이터를 게시하는 AJAX HTTP 요청에 응답하여 Decimal 필드가있는 모델에 해당 데이터 (천 단위 구분 기호로 쉼표가있는 숫자 포함)를 저장하려고합니다. 그것을위한 해결책을 찾을 수 없습니다. – jorgeas80