【发布时间】:2012-07-10 21:34:27
【问题描述】:
我正在开发一款应支持不同语言和风格的应用,例如美式、英式和德语。
现在查看documentation,例如似乎没有直接支持美国日期格式。看来这部分需要手工完成。
所以我一直在挖掘文档,发现this:
{{ 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。
我错过了什么?
【问题讨论】:
-
@jpic 请查看我更新的问题。谢谢
标签: django