当前位置:  开发笔记 > 编程语言 > 正文

Django 2.0 ModelForm dateField不显示为小部件

如何解决《Django2.0ModelFormdateField不显示为小部件》经验,为你挑选了1个好方法。

我有一个相当简单的模型表单,其输入值的类型为datefield()。无论出于何种原因,我都无法将其显示为小部件,而只能将其显示为文本输入。

这是我的表单代码:从django导入表单。从django.contrib.admin导入小部件导入模型

class CreateNewPatient(forms.ModelForm):
    class Meta:
        model = models.PatientInfo
        fields = ['first_name', 'nickname','last_name',
            'date_of_birth', 'school_grade', 'sex', 'school']

这是我的模型:

class PatientInfo(models.Model):
    #first name, last name,nickname, and date of birth
    first_name = models.CharField(max_length=100)
    nickname = models.CharField(max_length=100, blank=True)
    last_name = models.CharField(max_length=100)
    date_of_birth = models.DateField(auto_now=False, auto_now_add=False)
    school_grade = models.CharField(max_length=15, blank=True)

这是我的模板。它基于基本模板,并使用bootstrap4插件:

{% block content %}

{% csrf_token %} {% bootstrap_form form %} {% buttons %} {% endbuttons %}
{% endblock %}

就像我说的,该表格将出生日期字段显示为文本框。如何使它显示为具有Bootstrap样式的普通Django日期小部件?



1> 小智..:
class Meta:
    model = CreateNewPatient
    fields = ['first_name', 'nickname','last_name',
        'date_of_birth', 'school_grade', 'sex', 'school']
    widgets = {
        'date_of_birth': forms.DateInput(format=('%m/%d/%Y'), attrs={'class':'form-control', 'placeholder':'Select a date', 'type':'date'}),
    }

那就是我的工作方式。希望能帮助到你!

应该看起来像这样:在此处输入图片描述

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有