【问题标题】:override __init__ method to format initial value on modelform覆盖 __init__ 方法以格式化 modelform 上的初始值
【发布时间】:2014-04-26 08:37:38
【问题描述】:

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

【问题讨论】:

    标签: django django-forms modelform


    【解决方案1】:

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

    DateTimeWidget 已经接受控制值显示方式的format 参数。您可以在字段声明本身中进行设置。

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

    【讨论】:

    • 该死的,我真的应该阅读整个文档。我们如何通过format='%d...' 指定这个参数?
    猜你喜欢
    • 2011-02-28
    • 2016-03-20
    • 2020-08-23
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多