/ / Отримати віджет вибору дати в загальному вигляді перегляду django - django, django-models, django-form, django-views, django-generic-views

Отримати віджет вибору дати у загальному вигляді django - django, django-models, django-forms, django-views, django-generic-views

У мене є модельне завдання, для якого я написав таку загальну форму, щоб надати можливість додавати нове завдання:

class AddTask(generic.CreateView):
model = task
fields = ["project","task_name","expected_date"]
success_url = reverse_lazy("home")
template_name = "st_web/addtask.html"

Це працює досить добре. Єдина проблема полягає в тому, що поле дати - це текст типу поля. Я читав рішення для подібних питань, одне з яких пропонувало написати віджет для побачення, як:

from django import forms
........................
class DateInput(forms.DateInput):
input_type = "date"
.........................
.........................
class AddTask(generic.CreateView):
model = task
fields = ["project","task_name","expected_date"]
widgets = {
"expected_date": DateInput()
}
success_url = reverse_lazy("home")
template_name = "st_web/addtask.html"

Однак це не працює для мене. Чи можете будь-хто запропонувати просту відповідь (деякі з них пропонували додати якийсь i8j.js або щось подібне, але це справді було б корисно, якщо є коротше рішення) для цієї проблеми? Дякую

Відповіді:

1 для відповіді № 1

У вашому form.py:

from django import forms

class AddTask(forms.ModelForm):
class Meta:
model = task
fields = ("project","task_name","expected_date", )
expected_date = forms.DateField(
widget = forms.DateInput(
attrs= {
"type":"date",
}
)
)