我有一个相当简单的模型表单,其输入值的类型为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 %}{% endblock %}
就像我说的,该表格将出生日期字段显示为文本框。如何使它显示为具有Bootstrap样式的普通Django日期小部件?
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'}), }
那就是我的工作方式。希望能帮助到你!
应该看起来像这样:在此处输入图片描述