在通用表单视图django中获取日期选择小部件

时间:2018-03-30 09:16:03

标签: 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 个答案:

答案 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',
                    }
        )
        )