作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好我是新手程序员
def calculateMark(mobile_a, mobile_b):
mobiles_list = [mobile_a, mobile_b]
for mobile in mobiles_list:
dimension = TechSpecificationAdd.objects.filter(mobile_name = mobile).values(dimension)
body_material = TechSpecificationAdd.objects.filter(mobile_name = mobile).values(body_material)
weight = TechSpecificationAdd.objects.filter(mobile_name = mobile).values(weight)
tech_variables = {'dimension' : dimension, 'body_material' : body_material, 'weight' : weight}
return render_to_response('compare.html', tech_variables)
我有这样的东西,一个移动列表,从数据库中分配值,然后在字典中分配变量。我正在考虑遍历字典并在模板中显示值。但问题是我必须制作模板以在一页中显示两个手机信息以进行比较。如何在模板中一次显示两个手机信息?我认为该模板将始终显示一部手机的信息。其实我有点卡在这里,我不知道现在该怎么办。我一开始就错了吗?我需要字典吗?如何迭代或分配要在模板中显示的值。还是我在问一个愚蠢的问题?
最佳答案
改进 Simeon 的(假设一个有效的 urls.py
),
from django.shortcuts import render
def calculateMark(request, mobile_a, mobile_b):
mobiles_list = [mobile_a, mobile_b]
results = []
for mobile in mobiles_list:
record = TechSpecificationAdd.objects.filter(mobile_name=mobile).values('dimension', 'body_material', 'weight')
results += record
return render(request, 'compare.html', {'data': results})
任何注释:
request
作为第一个参数。{{ record.dimension }}
、{{ record.body_material }}
和 { { record.weight }}
每个都会成为列表。这就是为什么我们使用 results += record
而不是 results.append(dict)
的原因,这样 {{ record }}
将被适本地呈现。 render_to_response
渲染需要RequestContext
,Django 提供django.shortcuts.render
来简化模板渲染。关于python - Django 遍历列表中的字典并在模板中显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20767508/
我是一名优秀的程序员,十分优秀!