Django模板赢得';t显示列表
我已经看了前面的问题,但找不到问题的答案。Django模板赢得';t显示列表,django,python-3.x,django-templates,Django,Python 3.x,Django Templates,我已经看了前面的问题,但找不到问题的答案。 我试图显示一个2D列表,我在前面的HTML中使用了不同的列表。 我对另一个列表使用了类似的方法,但它不会显示,我只是获取标题。 HTML: <table class="listtable" > <thead> <tr> <th>No</th> <th>Account No</th> <th&g
我试图显示一个2D列表,我在前面的HTML中使用了不同的列表。 我对另一个列表使用了类似的方法,但它不会显示,我只是获取标题。
HTML:
<table class="listtable" >
<thead>
<tr>
<th>No</th>
<th>Account No</th>
<th>Time</th>
<th>Message</th>
</tr>
</thead>
{% for person in user %}
<tr>
{% for message in person %}
<td>{% autoescape off %}{{ message }}{% endautoescape %}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
打印内容将准确显示它应该显示的内容。清单大致如下:
[4, '<account number>', '<time>', 'somestring']
[3, '<account number>', '<time>', 'somestring']
[4','','',somestring']
[3,,'','',somestring']
该网页的消息来源说:
<table class="listtable" >
<thead>
<tr>
<th>No</th>
<th>Account No</th>
<th>Time</th>
<th>Messages</th>
</tr>
</thead>
</table>
不
帐号
时间
信息
编辑:版主视图代码
@login_required(login_url='/login')
def page_control(request):
acc_no = request.session['acc_no']
user = setup_page_control (acc_no)
for item in user:
print(item)
return render_to_response("<htmlfile>.html",
locals(),
context_instance=RequestContext(request))
def setup_user_control(acc_no):
messages = <outside magic>
user = reversed(messages)
return user
@login\u必需(login\u url='/login')
def页面_控制(请求):
acc_no=请求.会话['acc_no']
用户=设置页面控制(附件号)
对于用户中的项目:
打印(项目)
返回render_to_响应(“.html”,
本地人(),
上下文\实例=请求上下文(请求))
def设置用户控制(附件号):
消息=
用户=已反转(消息)
返回用户
我已经删除了很多代码,并更改了变量名等。。
我只删除了我100%确定没有问题的内容我相信你的回答应该是这样的:
return render_to_response("<htmlfile>.html",
{'user':user},
context_instance=RequestContext(request))
返回render\u to\u响应(“.html”,
{'user':user},
上下文\实例=请求上下文(请求))
我发现了我的问题,但我不确定为什么会发生。
当我离开时:
user = reversed(messages)
模板愿意再次输出列表。非常奇怪。如果有人知道原因,最好给出解释:)对您发现的问题进行解释: 返回一个反向。这是而不是您期望的反向列表:
>>> a = [1,2,3,4,5]
>>> print reversed(a)
<listreverseiterator object at 0x...>
(来源:)使用不同的上下文变量名称。将
user
更改为user\u list
或其他内容。如果可以,请粘贴整个视图代码。我已更改了变量名,“user”是其他内容,我必须更改内容以确保安全性我想补充一点,我没有为此使用内置数据库:)这不是我的问题,我已经添加了我的答案“调试消息输出”是什么?没有错误,它甚至打印正确,只是无法输出到模板啊,非常感谢您为我清理它:)
>>> a = [1,2,3,4,5]
>>> print reversed(a)
<listreverseiterator object at 0x...>
user = list(reversed(messages))
# or
user = messages[::-1]