Python Django dict在模板中

Python Django dict在模板中,python,django,Python,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.object

我正在尝试访问模板中的一些数据。我不认为我现在这样做是最好的方式,但我不能让它半途而废

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在您的视图代码中是
moduleData
。但是
moduleData
是一个
dict
,在
dict
上迭代会产生它的键,而不是它的值

您需要迭代这些值,请尝试:

{% for module in modules.values %}
    {{module.widget_mqtt_js}}
{% endfor %}

模块
这是
模块
的每个迭代键。使用
{%for module_name,module in modules.iteritems%}
访问使其显示的values.sweet。你能告诉我如何阻止它被转义吗?例如,我得到的是“代替”etc@Dan你确定这是可取的吗?请记住,禁用转义可以促进XSS攻击。如果您确实知道自己在做什么,那么这就是您如何做的:
{{module.widget_mqtt_js|safe}}
,使用模板过滤器。谢谢@Thomas Orozco,是的,我确定,因为它正在插入存储在数据库中作为模块一部分的js。