我正在开发一个应该支持不同语言和风格的应用程序,例如美国、英国和德国。
现在查看文档,例如似乎没有直接支持美国日期格式。看来这部分需要手工完成。
所以我一直在研究文档,发现了这个:
{{ value|date:"D d M Y" }}
但是,当我在代码中尝试此操作时,这似乎不适用于表单:
{{form.birth_date|date:"D d M Y"}}
似乎需要在表单字段本身设置格式。
更多研究表明, 2009 年Stackoverflow 中提出了类似的问题:
这个解决方案可以工作,但对于这样一个简单的问题,它看起来很有吸引力。自 2009 年以来,Django 已经走了很长一段路,所以我想知道是否有更好的方法将它直接放入 ModelForm 中?
假设我们有以下代码:
模型:
class ConversationHistory(models.Model):
contact_date = models.DateField(_(u"Conversation Date"))
形式:
class ConversationForm(ModelForm):
class Meta:
model = ConversationHistory
我可以将以下内容添加到 ModelForm:
widgets = { 'contact_date': forms.DateInput(format='M d, Y') }
这是正确的本地化方式吗?如果我想将格式更改为英式英语或德语怎么办?所以我觉得我在这里错过了一些东西......
非常感谢,
更新:
我现在已经尝试过了:
widgets = { 'contact_date': forms.DateInput(format='SHORT_DATE_FORMAT') }
但日期显示为 SHORT_DATE_FORMAT。
我错过了什么?