覆盖__init__方法以格式化modelform上的初始值

时间:2014-04-26 08:37:38

标签: django django-forms modelform

我有一个datetime字段。在加载初始值时,我想将值从2014-04-12 13:00:00格式化为April 12, 2014 1:00 pm。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您需要更清楚自己想做什么。你的意思是你想改变日期的显示方式?您根本不会在表单中执行此操作,尤其不在__init__中。显示值是小部件的工作。

DateTimeWidget已经接受一个format参数来控制值的显示方式。您可以在字段声明中设置它。

class MyModelForm(forms.ModelForm):
    datetime = forms.DateTimeField(widget=forms.DateTimeInput(format="%B %d, %Y %I:%M%p"))