2013-11-27 88 views
0

我一直在尝试访问我的模板中的数据库,到目前为止我一直不成功。Django使用模板中的特定模型访问数据库

这是我一直在试图进入我的模型类:

class Questionnaire(models.Model): 
    name = models.CharField(max_length=128) 
    redirect_url = models.CharField(max_length=128, help_text="URL to redirect to when Questionnaire is complete. Macros: $SUBJECTID, $RUNID, $LANG", default="/static/complete.html") 

    def __unicode__(self): 
     return self.name 

    def questionsets(self): 
     if not hasattr(self, "__qscache"): 
      self.__qscache = \ 
       QuestionSet.objects.filter(questionnaire=self).order_by('sortid') 
     return self.__qscache 

    class Meta: 
     permissions = (
      ("export", "Can export questionnaire answers"), 
      ("management", "Management Tools") 
     ) 

这里是我的views.py的样子:

def question_list(request): 
    question_info = Questionnaire.objects.all() 

    question_data = { 
     "question_detail" : question_info 
    } 

print question_data 
return render_to_response('questionnaire/templates/quizzes.html', question_data, context_instance=RequestContext(request)) 

,最后我的模板quizzes.html

{% for question in question_detail %} 
<h3>{{ question.name }}</h3> 
{% endfor %} 
+1

恰好是不工作怎么办? –

+0

你有HTML和BODY的开始和结束标签吗?查看原始输出(在浏览器中按Ctrl-u) – erny

+0

正文和HTML标记全部正常工作我有一个工作模板,唯一不起作用的就是数据不会在我的模板中显示for循环 – user3019469

回答

0

这样不简单吗?

views.py:

def question_list(request): 
    questions = Questionnaire.objects.all() 
    return render_to_response('questionnaire/templates/quizzes.html',{'questions':questions}, context_instance=RequestContext(request)) 

的.html

{% for question in questions %} 
<h3>{{ question.name }}</h3> 
{% endfor %}