我正在尝试在django上的模板中显示django脚本。简单的脚本在数组上运行,并使用json query:
打印数组中每个值的设置for x in range(numRPAs):
# Get the item number
print ("item: ", parsResults['innerSet'][0]['rpasState'][x]['rpaUID']['rpaNumber'])
# Get the item status
print ("Status: ", parsResults['innerSet'][0]['rpasState'][x]['status'])
# Get the item versions
print ("Version: ", parsResults['innerSet'][0]['rpasState'][x]['version']['version'])
这在python shell中运行良好。我正在尝试使用django,所以我编写了以下视图部分:
def monitor(request):
for x in range(item):
# Get the item number
itemNumber = (parsResults['innerSet'][0]['rpasState'][x]['rpaUID']['rpaNumber'])
# Get the item status
itemStatus = (parsResults['innerSet'][0]['rpasState'][x]['status'])
# Get the RPA versions
itemVersion = (parsResults['innerSet'][0]['rpasState'][x]['version']['version'])
return render(request, 'monitorLabs.html', {'itemNumber' : itemNumber, 'itemStatus' : itemStatus, 'itemVersion' : itemVersion, })
我的模板文件应如何在每个x上运行并打印每个查询? “返回”显然只运行一次(即使它在for循环中)。
所以下面只打印第一项:
<body>
<h1>Tile goes here</h1>
<p>item number: {{ itemNumber }}</p>
<p>item status: {{ itemStatus}}</p>
<p>item version: {{ itemVersion}}</p>
我能够为每个属性创建一个数组,然后使用一个简单的for循环,例如:
{% for x in rpaNumber %}
<p>RPA number: {{ x }}</p>
{% endfor %}
但我不会避免这样做,因为在此之后需要做很多命令。
还有其他方法可以执行此任务吗? 提前致谢, 亚基尔。
答案 0 :(得分:0)
视图
def monitor(request):
items = []
for x in range(item):
items_dict = {
'itemNumber': parsResults['innerSet'][0]['rpasState'][x]['rpaUID']['rpaNumber'],
'itemStatus': parsResults['innerSet'][0]['rpasState'][x]['status'],
'itemVersion': parsResults['innerSet'][0]['rpasState'][x]['version']['version']
}
items.append(items_dict)
return render(request, 'monitorLabs.html', {'items' : items})
模板
<body>
<h1>Tile goes here</h1>
{% for item in items %}
<p>item number: {{ item.itemNumber }}</p>
<p>item status: {{ item.itemStatus}}</p>
<p>item version: {{ item.itemVersion}}</p>
{% endfor %}
我希望这会对你有所帮助。