我试图从其中一个模板中的Doctor模型中获取所有医生列表的列表。但模板没有显示任何内容。它不像模型中没有数据,我可以看到它通过管理面板填充。
这是模板doclistings.py
{% for doc in doctor.all %}
<p>{{doc.name}}</p>
<p>{{doc.specialization}}</p>
<p>{{doc.clinic}}</p>
{% endfor %}
这是views.py
def allDocs(request):
return render(request, 'meddy1/doclistings.html')
这是models.py
class Doctor(models.Model):
name = models.CharField(max_length=30)
specialization = models.ForeignKey(Specialization)
scope = models.CharField(max_length=100, blank = True)
clinic = models.ForeignKey(Clinic)
seekers = models.ManyToManyField(DoctorSeeker, through='Review')
language = models.ManyToManyField(Language)
education1 = models.CharField(max_length=100)
education2 = models.CharField(max_length=100, null = True)
gender_choices = ( ('M', 'Male'), ('F','Female'),)
gender = models.CharField(max_length=5, choices = gender_choices, null=True)
profile_pic = models.ImageField(upload_to='meddy1/images/', blank=True)
statement = models.TextField(null=True)
affiliation = models.CharField(max_length=100, null = True)
这是urls.py
url(r'^doclistings/$', views.allDocs, name='allDocs'),
答案 0 :(得分:2)
您需要从列表中将列表传递给模板。在您的代码中,变量doctor
未在模板中定义,因此它不会显示任何内容。
更改视图以将doctlist
作为
def allDocs(request):
return render(request, 'meddy1/doclistings.html', {'doclist': Doctor.objects.all()})
更新模板以使用doclist
显示每个项目。
{% for doc in doclist %}
<p>{{doc.name}}</p>
<p>{{doc.specialization}}</p>
<p>{{doc.clinic}}</p>
{% endfor %}