我在这个https://docs.djangoproject.com/en/1.5/intro/tutorial03/站点的第三个教程上。我被困在我们为我们的视图加载模板的地方Write views that actually do something
。
第一个代码工作正常(因为没有模板加载):
from django.http import HttpResponse
from polls.models import Poll
def index(request):
latest_poll_list = Poll.objects.order_by('-pub_date')[:5]
output = ', '.join([p.question for p in latest_poll_list])
return HttpResponse(output)
但是当我用下面的代码加载模板时,它显示的结果与上面相同(即没有模板)
from django.http import HttpResponse
from django.template import Context, loader
from polls.models import Poll
def index(request):
latest_poll_list = Poll.objects.order_by('-pub_date')[:5]
template = loader.get_template('polls/index.html')
context = Context({
'latest_poll_list': latest_poll_list,
})
return HttpResponse(template.render(context))
模板用途是:
{% if latest_poll_list %}
<ul>
{% for poll in latest_poll_list %}
<li><a href="/polls/{{ poll.id }}/">{{ poll.question }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No polls are available.</p>
{% endif %}
模板位于 polls/template/polls/index.html 中,其中 polls 是我的应用程序(如教程中所用)
PS:直到教程中的这一点,我一直遵循所有内容。