Изменить метку на необходимом виджете выбора даты в Django - PullRequest
0 голосов
/ 11 декабря 2018

Итак, я хочу изменить метку в моем виджете выбора даты на django, предпочтительно на текущую дату, но даже достаточно просто сказать «Месяц», «Год» и т. Д.Я не хочу, чтобы он просто сказал «1 января 1980», как по умолчанию.Я знаю, что для использования 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 - нет.Но я хочу, чтобы они хотя бы выглядели одинаково на веб-странице.Если возможно, я бы хотел, чтобы значение по умолчанию было текущей датой, но мне нужно сначала иметь возможность хотя бы редактировать поля.Так как я могу это сделать?Я пытался погуглить безрезультатно.Спасибо!

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Вы можете указать значение [initial][1] для формы через

f = AnimalForm(initial={
    'dod': datetime.today(),
    'dob': datetime.today(),
})
0 голосов
/ 11 декабря 2018

Вы можете использовать datetimepicker из datepicker-plus, он предоставит вам текущее время и текущую дату. Вы можете перейти по этой ссылке https://github.com/monim67/django-bootstrap-datepicker-plus

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...