如何将视图中的列表传递给django中的模板

时间:2014-02-28 23:57:46

标签: python django

我正在尝试传递到Django中从视图到模板的列表。

在我的文件wiew.py中,我定义了名为hour

的视图
# This Python file uses the following encoding: utf-8

from django.shortcuts import render
from django.http import HttpResponse
from datetime import datetime 
from django.shortcuts import render_to_response

# Create your views here.
def hour(request):
now = datetime.now()
list = ['Bern','Bob','Eufronio','Epifanio','El pug']
return render_to_response('hour.html',list)

我在视图中使用了shorcuts。

我有一个名为hour.html的模板,所以这样:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
    <title>Date</title>

</head>
<body>
    The names are:
    {%for item in list%}
        <li>{{item}}</li>
    {% endfor %}
</body>
</html>

但我的模板hour.html在浏览器中显示为空。如何将列表从我的视图发送到模板。感谢旅游关注

2 个答案:

答案 0 :(得分:6)

您应该使用return render_to_response('hour.html',{"list": list})

return render(request, 'hour.html', {"list": list})

第二个render需要from django.shortcuts import render

答案 1 :(得分:2)

list是一个python内置序列类型,您应该避免为变量名使用通用名称以避免冲突。您可以阅读有关Python内置类型here的更多信息。

然而,对于这个,你只需要传递上下文:

return render_to_response('hour.html', {"list": list})