我正在开发一款应该支持不同语言和风格的应用,例如美国,英国和德国。
现在查看documentation,例如似乎没有直接支持美国日期格式。看来这部分需要手工完成。
所以我不断深入研究文档并找到了this:
{{ value|date:"D d M Y" }}
当我在我的代码中尝试这个时,这似乎不适用于表单:
{{form.birth_date|date:"D d M Y"}}
似乎需要在表单字段本身设置格式。
更多研究显示在2009:
中的Stackoverflow中提出了类似的问题这个解决方案可行,但看起来非常适合这样一个简单的问题。 Django自2009年以来走过了漫长的道路,所以我想知道是否有更好的方法可以直接进入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') }
这是正确的本地化方式吗?如果我想将格式更改为Brtish English或German,该怎么办?所以我觉得我在这里失踪了...
非常感谢,
更新
我现在试过这个:
widgets = { 'contact_date': forms.DateInput(format='SHORT_DATE_FORMAT') }
但是日期显示为SHORT_DATE_FORMAT。
我错过了什么?
答案 0 :(得分:0)
You're looking for the x
format.或者最糟糕的情况是,你只需要确定格式,然后让翻译人员知道它。
答案 1 :(得分:0)
我一直致力于为{2}用dojo
解决这个问题!如果您使用dojango
整合,我最终会找到以下作品。
someDate = DateField(widget=DateInput(attrs={'constraints':'{datePattern:\'dd/MM/yyyy\', strict:true}'))
forms.py
我不知道是否有帮助