admin管理员组

文章数量:1424445

I am trying to iterate through a dictionary in my django template and save the values to window.obj, but it is not working.

views.py:

def myView(req):
...
myDict = {'foo':"[1,2]", 'bar':"[3,4]"} 

return render(req, 'myPage.html', {'myDict':myDict})

myPage.html:

<script type="text/javascript">
window.obj = {}
window.obj["foo"] = "{{ myDict.foo }}";

{% for key, value in myDict %}

window.obj["{{ key }}"] = "{{ value }}";

{% endfor %}
</script>

...

<script> 
console.log(window.obj.foo); //prints {foo: "[1,2]"} 
console.log(window.obj.bar); //prints undefined
</script>

Note: I can't use myDict.foo on my actual project

What am I missing here?

I am trying to iterate through a dictionary in my django template and save the values to window.obj, but it is not working.

views.py:

def myView(req):
...
myDict = {'foo':"[1,2]", 'bar':"[3,4]"} 

return render(req, 'myPage.html', {'myDict':myDict})

myPage.html:

<script type="text/javascript">
window.obj = {}
window.obj["foo"] = "{{ myDict.foo }}";

{% for key, value in myDict %}

window.obj["{{ key }}"] = "{{ value }}";

{% endfor %}
</script>

...

<script> 
console.log(window.obj.foo); //prints {foo: "[1,2]"} 
console.log(window.obj.bar); //prints undefined
</script>

Note: I can't use myDict.foo on my actual project

What am I missing here?

Share Improve this question edited Feb 20, 2019 at 21:56 Lord Elrond asked Feb 20, 2019 at 21:45 Lord ElrondLord Elrond 16.1k8 gold badges54 silver badges91 bronze badges 1
  • Try using dict.items instead {% for key, value in myDict.items %} – Håken Lid Commented Feb 20, 2019 at 21:54
Add a ment  | 

1 Answer 1

Reset to default 6
{% for key, value in myDict.items %} 

本文标签: javascriptHow do I iterate through a dictionary in Django TemplatesStack Overflow