簡體   English   中英

如何在Django模板中遍歷Python字典

[英]How to iterate over a python dictionary in django template

我看到了各種各樣的答案,但無法弄清楚我現在做錯了什么。 我正在使用python 2.7和Django 1.5.1。 以下是我的模板的代碼:

  {% for key, value in chartdata.items %}
    key = {{ key }};
    value = {{ value }};
    console.log( key + ":" +  value  );
    alert('here');
  {% endfor %}

在view.py中,我將字典發送為:

  chartdata= getChartData(request.session['userphone'])
    log.debug(chartdata)
    table=getUserInfo(request.session['userphone'],str(request.user))
    return render(request,'users.html',{'table':table,'topics':request.session['topics'],'profilepic':request.session['profilepic'],'chartdata':chartdata,'time':str(time.time())})

log.debug(chartdata)在我的日志文件中返回以下結果:

  [11/Jul/2013 16:49:12] DEBUG [karnadash.views:179] [(85, '2013-07-08'), (120, '2013-07-08'), (205, '2013-07-08'), (305, '2013-07-08'), (405, '2013-07-08'), (505, '2013-07-08'), (547, '2013-07-09'), (564, '2013-07-09'), (581, '2013-07-09'), (607, '2013-07-09'), (624, '2013-07-09'), (659, '2013-07-09'), (694, '2013-07-09'), (711, '2013-07-09'), (737, '2013-07-09'), (754, '2013-07-09'), (771, '2013-07-09'), (871, '2013-07-09')]

誰能指出我的代碼出了什么問題。

我發現以下問題與我的問題幾乎相同,因此嘗試了該解決方案。

怎么了 遍歷Django模板中的字典

我也嘗試使用過:chartdata.iteritems,但它具有類似的效果。 我沒有錯。 它永遠不會進入那個循環。 當我執行console.log(chartdata)時,它在瀏覽器控制台中顯示了一些解析錯誤(“&error something”),但是在一些垃圾數據中,我可以找到包含該數據的字典。 但是項目或僅項目不起作用。

編輯:問題原來是我正在使用整數作為字典鍵

但是,另一個問題仍然存在。 說我同意

 alert({{  value  }});

在JavaScript端。 值是“ hello”,它表示客戶端未定義變量名hello。 它把它整體而不是字符串? 我應該怎么做才能做到這一點?

chartData是元組列表,而不是字典。 您的模板中需要這樣的內容:

{% for row in chartData %}
    console.log("{{ row.0 }}", "{{ row.1 }}");
{% endfor %}

對於第二個問題,請嘗試:

alert('{{  value  }}');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM