0

我正在开发一个应该支持不同语言和风格的应用程序,例如美国、英国和德国。

现在查看文档,例如似乎没有直接支持美国日期格式。看来这部分需要手工完成。

所以我一直在研究文档,发现了这个:

{{ 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。

我错过了什么?

4

2 回答 2

0

我一直在为这个解决方案工作2 年dojo!!!如果您正在使用集成,我终于找到了以下作品dojango

someDate = DateField(widget=DateInput(attrs={'constraints':'{datePattern:\'dd/MM/yyyy\', strict:true}'))

表格.py

我不知道这是否有帮助

于 2013-01-04T14:43:36.873 回答
0

您正在寻找x格式。或者最坏的情况是你只需对格式进行 I18Nize 并让翻译人员弄清楚。

于 2012-07-11T16:46:06.230 回答