Django 1.6 TypeError render_to_string() получил несколько значений для аргумента ключевого слова context_instance
Я пытаюсь показать все времена ожидания, связанные с врачом в моем шаблоне. Но я получаю эту ошибку. Я очень новичок в Django, поэтому я не уверен, что изменить.
Traceback:
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py" in get_response
114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "views.py" in showDocProfile
69. return render(request,'meddy1/docprofile.html',{'doctor': profile}, {'timeList': WaitingTime.objects.all()})
File "/Library/Python/2.7/site-packages/django/shortcuts/__init__.py" in render
53. return HttpResponse(loader.render_to_string(*args, **kwargs),
Exception Type: TypeError at /docprofile/1/
Exception Value: render_to_string() got multiple values for keyword argument 'context_instance'
Вот view.py, где я пытаюсь сохранить все объекты времени ожидания
def showDocProfile(request, id):
profile = Doctor.objects.get(id=id)
return render(request,'meddy1/docprofile.html',{'doctor': profile}, {'timeList': WaitingTime.objects.all()})
Вот шаблон docprofile.html, где я пытаюсь показать время ожидания
{% for t in timeList %}
<h4>{t.time}</h4>
{% endfor %}
models.py
class WaitingTime(models.Model):
time_choices = ( (10, 'Less than 10 Minutes'), (20, 'Less than 20 Minutes'), (30, 'Less than 30 Minutes'))
time = models.IntegerField(choices = time_choices, blank = True )
doctor = models.ForeignKey(Doctor)
doctor_seeker = models.ForeignKey(DoctorSeeker)
date = models.DateField()
class Doctor(models.Model):
avg_times = models.ManyToManyField(DoctorSeeker, through="WaitingTime")
name = models.CharField(max_length=30)
specialization = models.ForeignKey(Specialization)
clinic = models.ForeignKey(Clinic)
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='/uploads/', null=True)
statement = models.TextField(null=True)
affiliation = models.CharField(max_length=100, null = True)
2 ответа
Решение
В вашем звонке render()
вы передаете 2 дикта, скорее вам нужно передать 1 дикт с обоими элементами, что рассматривается как контекст для шаблона.
Обновите все до
return render(request,'meddy1/docprofile.html',
{'doctor': profile,
'timeList': WaitingTime.objects.all()
})
doctor
а также timelist
должны быть в одном словаре, а не в отдельных.
return render(request,'meddy1/docprofile.html',{'doctor': profile, 'timeList': WaitingTime.objects.all()})