템플릿의 일부 데이터에 액세스하려고합니다. 나는 내가 지금하고있는 방식이 최선의 방법이라고 생각하지 않지만, 다른 방법으로도 절반을 얻을 수는 없다.템플릿의 Django dict
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.iteritems %}''을 사용하여 값에 액세스하십시오. – okm
@okm 게시물 응답 –