我有一个模型任务,我已经编写了以下通用表单,以便为添加新任务提供便利:
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或类似的东西,但如果有一个更短的解决方案,它真的有帮助)这个问题?感谢。
答案 0 :(得分:0)
在您的forms.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',
}
)
)