我試圖訪問模板中的一些數據。我不認爲我現在這樣做的方式是最好的方式,但我甚至無法用其他方式做到一半。模板中的Django字典
def room(request, room_id):
#get room data
room = Room.objects.filter(id=room_id).get()
modules = []
#pull all actuator devices for the room
actuators = Device.objects.filter(room_id=room_id,type="actuator")
#build a list of modules then use set to remove duplicates
for actuator in actuators.values():
module = Module.objects.get(module_id=actuator["module_id"]).name_only()
modules.extend([module])
modlist = list(set(modules))
moduleData = {}
#loop through the modules, pull out the required data and send it all off to the template
for module in modlist:
data = Module_List.objects.get(name=module)
dict = {"name": data.name, "widget_mqtt_js": data.widget_mqtt_js, "widget_setup_js": data.widget_setup_js, "widget_body": data.widget_body}
moduleData[module] = dict
print dict["widget_mqtt_js"]
context = {"room_name" : room.name, "actuators" : actuators, "modules" : moduleData}
return render(request, 'control/room.html', context)
這是我的代碼,因爲它代表。我遇到的問題是我的模板中的循環返回空白。它看起來像這樣:
{% for module in modules %}
{{module.widget_mqtt_js}}
{% endfor %}
我認爲會有辦法與MODULE_LIST模型做到這一點,但我便無法拿到工作或者..
'module'這裏是modules'的'每個迭代的關鍵。使用'{%for module_name,modules in modules.iteritems%}'來訪問值。 – okm
@okm帖子回覆 –