当前位置: 首页 > 知识库问答 >
问题:

Django控件和日期字段

司寇望
2023-03-14

在我的创建模板中,日期字段呈现为CharField,不允许选择日期,而我需要这个验证日期。

我的模型包括一个日期字段:

class Interview(models.Model):
     date_planned = models.DateField(verbose_name="Planned Date", blank=True, null=True)

我的视图非常正常地调用ModelForm:

class InterviewCreateView(UserAccessMixin, CreateView):
    permission_required = "interviews.add_interview"
    model = Interview
    form_class = InterviewForm
    fields = ['date_planned', 'topics']
    template_name = "interviews/interview_create_form.html"
    success_url = reverse_lazy("interviews:interviews_list")
    ```
 My Form just calls the Meta and includes a widget:

课堂访谈表(ModelForm): def init(self,*args,**kwargs): Super(). init(*args,**kwargs)self.fields['date_planned'].widget.attrs.update({'size': 40,'type':'date'})

class Meta:
    model = Interview
    fields=['topics', 'date_planned']```

事实上,输入字段的大小增加到40,但系统忽略了日期格式,并允许我的日期_planned字段显示为字符字段

共有2个答案

元叶秋
2023-03-14

谢谢多斯博多克,完整的答案应该是这样的:

class DateInput(forms.DateInput):
    input_type = "date"

class InterviewForm(ModelForm):
    class Meta:
        model = Interview
        fields = ['topics', 'date_planned']
        widgets = {'date_planned': DateInput(),}
冯星阑
2023-03-14

在forms.py中,你可以创建一个类

class DateInput(forms.DateInput):
    input_type = 'date'

class Meta:
   model = Interview
   fields = ['topics', 'date_planned']
   widgets = {'date_planned': DateInput(),}

这应该有效,除非日期拾取器问题。

 类似资料:
  • 问题内容: 有人可以向我解释为什么以下过滤器在月份和日期级别不起作用吗?按年份进行过滤似乎有效,但其他两个方法却无效。 快速更新以演示在创建和处理查询集之前我得到了相同的行为: 这里有更多值得深思的地方: 问题答案: Django文档给出了将时区定义安装到数据库的指令: SQLite:安装-转换实际上是在Python中执行的。 PostgreSQL:无要求(请参阅时区)。 Oracle:无要求(请

  • 定义 展示当前时间往后的任意天数内的日期。 图片展示 代码演示 import Picker from 'pile/dist/components/picker' const {DatePeriodPicker} = Picker <DatePeriodPicker textvalue="可控制天数(年、月、日)" pickerAway = {function(e,t){ console

  • 定义 可控制开始和结束日期的时间组件。 图片展示 代码演示 import Picker from 'pile/dist/components/picker' const {DateRangePicker} = Picker <DateRangePicker textvalue= {timeValue} pickerAway={this.pickerFun} startData='1

  • 定义 可控制开始和结束日期的时间组件(带时分)。 图片展示 代码演示 import Picker from 'pile/dist/components/picker' const {DateTimePicker} = Picker <DateTimePicker textvalue = "2017/8/7 14:56" pickerAway = {function(e,t){ conso

  • 定义 当前时间往后x天数的时间(返回年月日时分)。 图片展示 代码演示 import Picker from 'pile/dist/components/picker' const {TimeDefaultPicker} = Picker <TimeDefaultPicker textvalue="" pickerAway = {(o,r,t)=>{ console.log(o,r,t

  • 定义 可选择当天0时至23时任意时间段区间。 图片展示 代码演示 import Picker from 'pile/dist/components/picker' const {TimeGroupPicker} = Picker <TimeGroupPicker textvalue="当天时间段(时)" pickerAway = {function(e,t){ console.log(