2015-03-04 4 views
0

Я только что построил проект django, но имею некоторые проблемы. Я хочу отобразить название, которое находится в Академии. Когда я запускаю python manage.py runserver, все в порядке, но заголовок не отображается. Я не знаю, в чем проблема.django rendering template issue

class.html

{% extends "base.html" %} 
{% block content %} 
    <div> 
     <div style="margin-top: 200px;"> 
     </div> 
     {% for academy in academys %} 
      <h3>{{ academy.title }}</h3> 
     {% endfor %} 
    </div> 
{% endblock %} 

urls.py

... 
url(r'^academy/class', 'academy.views.class', name='class'), 

views.py

from django.shortcuts import render, Http404 
from .models import Academy 

def class(request): 
    template = 'academy/class.html' 
    try:   
     academys = Academy.objects.all() 
     context = {'academy': academys} 

    except Academy.DoesNotExit: 
     raise Http404 

    if request.user.is_authenticated(): 
     return render(request, template, context) 
    else: 
     return HttpResponseRedirect("/account/login/") 

models.py

... 
class Academy(models.Model): 
    title = models.CharField(max_length=50) 

    def __unicode__(self): 
     return self.title 

ответ

2

Ваш контекст ключ словаря является неправильным. Вместо

context = {'academy': academys} 

типа

context = {'academys': academys} 
1

Вы проходя 'академии' в вашем контексте не 'academys'

context={'academys ': academys}