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

bga*_*ial 6 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)
Run Code Online (Sandbox Code Playgroud)

在我看来,我正在使用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>
Run Code Online (Sandbox Code Playgroud)

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

vir*_*der 6

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

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

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


Dre*_*ess 2

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

然而,为此,您只需要传递上下文:

return render_to_response('hour.html', {"list": list})
Run Code Online (Sandbox Code Playgroud)