Django 1.6:模型字段未显示

时间:2014-06-08 14:03:54

标签: python django django-views models

我试图从其中一个模板中的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'),

1 个答案:

答案 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 %}
相关问题