我正在使用l10n设置来翻译我的网站。 一切正常,除了浏览器语言设置为“en” 当我打印get\u language()并获取语言日期格式时。它们返回正确的值('en','m/d/Y')
但是,当我检查模板中的日期时,它是Y-m-d
对于其他任何语言,它都能正常工作
# settings.py
LANGUAGE_CODE = 'nl-NL'
USE_I18N = True
USE_L10N = True
# forms
# DatePickerForm is needed to also setup the bvootstrap-datepicker
class DatePickerForm(forms.Form):
""" hidden inputs to make bootstrap-datepicker work with django locale """
FORMAT_MAP = {
# 'locale': [datepicket_lang, datepicker-pattern]
# 'en-US': ['en', 'mm/dd/yyyy']
'en': ['en', 'mm/dd/yyyy'],
'nl': ['nl', 'd-m-yyyy'],
'pl': ['pl', 'dd.mm.yyyy'],
'de': ['de', 'dd.mm.yyyy'],
}
locale_language = forms.CharField(widget=forms.HiddenInput())
locale_date_format = forms.CharField(widget=forms.HiddenInput())
def __init__(self, *args, **kwargs):
self.locale_language = get_language()
super(DatePickerForm, self).__init__(*args, **kwargs)
self.initial['locale_language'] = self.datepicker_language()
self.initial['locale_date_format'] = self.datepicker_format()
print self.locale_language
def datepicker_format(self):
if self.locale_language in DatePickerForm.FORMAT_MAP:
return DatePickerForm.FORMAT_MAP[self.locale_language][1]
else:
return DatePickerForm.FORMAT_MAP['nl'][1]
def datepicker_language(self):
if self.locale_language in DatePickerForm.FORMAT_MAP:
return DatePickerForm.FORMAT_MAP[self.locale_language][0]
else:
return DatePickerForm.FORMAT_MAP['nl'][0]
class TotalForm(DatePickerForm):
""" date range input for totals """
begin = forms.DateField(label='')
end = forms.DateField(label='')
有人知道为什么会出问题吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐