Django отображает исходный код вместо веб-страницы
Я новичок в django. Любая помощь будет оценена по достоинству. Вместо веб-страницы отображается исходный код. Точнее, базовую страницу (base.html). Я хочу использовать данные из данных пациента и данных врача, так как они относятся к разным группам. Я думаю, что проблема в том, когда я передаю свой словарь.
Views.py
def booking(request):
if not request.user.is_active:
messages.success(
request, ("In order to book an appointment you must login first"))
return redirect('login')
doctor_details = Doctor.objects.all()
f = {'doctor_details': doctor_details}
g = request.user.groups.all()[0].name
if g == 'Patient':
patient_details = Patient.objects.all().filter(EmailAddress=request.user)
d = {'patient_details': patient_details}
return render(request, 'booking.html', f, d)
Html
Вы должны передать контекст как один словарь. Для добавления новых элементов в словарь можно использовать метод update
:
def booking(request):
if not request.user.is_active:
messages.success(
request, ("In order to book an appointment you must login first"))
return redirect('login')
doctor_details = Doctor.objects.all()
f = {'doctor_details': doctor_details}
g = request.user.groups.all()[0].name
if g == 'Patient':
patient_details = Patient.objects.all().filter(EmailAddress=request.user)
f.update({'patient_details': patient_details}) # Using update
return render(request, 'booking.html', f)
Спасибо всем за участие. Я нашел свою ошибку. Проблема была в том, как я использую views.py. Ответ выше правильный, но я предпочитаю использовать его таким образом. Views.py
def booking(request):
if not request.user.is_active:
messages.success(
request, ("In order to book an appointment you must login first"))
return redirect('login')
doctor_details = Doctor.objects.all()
g = request.user.groups.all()[0].name
if g == 'Patient':
patient_details = Patient.objects.all().filter(EmailAddress=request.user)
d = {'patient_details': patient_details,
'doctor_details': doctor_details} #edited part
return render(request, 'booking.html', d)
И для части html. Html