在Django中的必需选择日期小部件上更改标签

时间:2018-12-11 16:26:53

标签: django forms widget

因此,我想在django上的选择日期小部件上更改标签,最好更改为当前日期,但是即使只说“月”,“年”等也足够。我不希望它只说“ 1980年1月1日”,因为它是默认值。我知道要在我的小部件中使用empty_label,我的模型中的字段必须为空白,或者不是必需的。但是,我的字段是必填字段,但我希望该字段与另一个非必需的小部件匹配。这是我的表单代码:

class AnimalForm(forms.ModelForm):
class Meta:
    model = Animal
    fields = ['animal_id','species_strain','dob', 'dod', 'sex', 'source', 'parents', 'labloc', 'notes']
    widgets ={
                "dod":forms.SelectDateWidget(years=range(1980,2050), empty_label=("Year", "Month", "Day")),
                "dob":forms.SelectDateWidget(years=range(1980,2050), empty_label=("Year", "Month", "Day")),


    }

为澄清起见,dob是必需的,而dod不是必需的。但我希望它们至少在网页上看起来一样。如果可能的话,我希望将默认值设置为当前日期,但是我至少需要首先编辑这些字段。那我该怎么做呢?我尝试使用Google搜索,但没有成功。谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用datepicker中的datetimepicker-plus,它将为您提供当前时间和当前日期。您可以点击此链接https://github.com/monim67/django-bootstrap-datepicker-plus

答案 1 :(得分:0)

您可以通过以下方式向表单提供[initial][1]

f = AnimalForm(initial={
    'dod': datetime.today(),
    'dob': datetime.today(),
})