CharField未在模板-Django中呈现
我的模型中有一个“出生日期”字段,但为什么渲染时它没有显示在模板中?CharField未在模板-Django中呈现,django,Django,我的模型中有一个“出生日期”字段,但为什么渲染时它没有显示在模板中?出生日期在教师模型内。你对出生日期字段有什么好主意吗?因为现在我正在使用charfield,所以我需要将DateInput转换为字符串,以便将其添加到charfield中 这是我的模特 class Teacher(models.Model): user = models.OneToOneField(CustomUser, on_delete=models.CASCADE, primary_key=True) da
出生日期
在教师
模型内。你对出生日期字段有什么好主意吗?因为现在我正在使用charfield,所以我需要将DateInput
转换为字符串,以便将其添加到charfield
中
这是我的模特
class Teacher(models.Model):
user = models.OneToOneField(CustomUser, on_delete=models.CASCADE, primary_key=True)
date_of_birth = models.CharField(max_length=100)
teacher_type = models.CharField(max_length=50
def __str__(self):
return self.user.email
我的表格.py
class TeacherRegisterForm(UserCreationForm):
date_attr = {'class': 'form-control', 'id': 'dateofbirth-register', 'type': 'date'}
date_of_birth = forms.DateField(widget = forms.DateInput(attrs=date_attr))
teacher_type = forms.ChoiceField(label=_('Teacher Type'), choices=type_choice
class Meta(UserCreationForm):
model = CustomUser
fields = ['date_of_birth', 'teacher_type']
def save(self, commit=True):
user = super().save(commit=False)
user.is_teacher = True
user.save()
teacher = Teacher.objects.create(user=user)
teacher.date_of_birth += str(self.cleaned_data.get('date_of_birth'))
teacher.teacher_type += self.cleaned_data.get('teacher_type')
return user
views.py
@login_required
@teacher_required
def teacherInfoView(request):
template_name = "attendance/content/teacher/teacher_info.html"
teacher_info = Teacher.objects.filter(user=request.user)
context = {'teacher_info': teacher_info}
return render(request, template_name, context)
模板
{% for info in teacher_info %}
<!-- firstname -->
<div class="row">
<div class="ml-5 mr-auto">
<h5>Name : {{ info.user.first_name }} {{ info.user.last_name }}</h5>
</div>
<div class="ml-5">
<h5>Email : {{ info.user.email }}</h5>
</div>
</div>
<div class="row">
<div class="ml-5">
<h5>Date Of Birth : {{ info.date_of_birth }}</h5>
</div>
<div class="ml-5">
<h5>Gender : {{ info.user.gender }}</h5>
</div>
</div>
{% endfor %}
{%用于教师信息%}
名称:{{info.user.first_Name}{{{info.user.last_Name}}
电子邮件:{{info.user.Email}
出生日期:{{info.Date\u Of_Birth}
性别:{{info.user.Gender}
{%endfor%}
在返回渲染视图之前添加一个断点()
检查您是否在教师信息中输入了出生日期。我认为将DateField
然后将DateInput
转换为CharField
有问题,但不能确定。我还有另一个字段是teacher\u type
。这是一个charField
,我也无法将其渲染到模板。让我更新它,以便您可以看到它我提到的断点
不允许您渲染模板。它将在代码呈现之前停止代码。因此,您可以在控制台(键入runserver
)中检查正在发生的事情。不!我的意思是,即使是与转换无关的teacher\u type
字段也无法呈现为template。您尝试过断点吗?