簡體   English   中英

渲染多個列表到Django模板

[英]rendering multiple lists to the django template

我在views.py中有以下代碼,該代碼將兩個列表的壓縮字典返回到模板ex.html:

    list1=["['a',1,2,3]","['b',4,5,6]","['c',7,8,9]"]
    list2=["[12-09-13,pass]","[8-05-12,fail]"]
retrun render_to_response(ex.html,dict(t=zip(list1,list2)))

zip混合了兩個列表。是否有解決方案,可以在模板中單獨遍歷兩個列表。

在模板中,我在循環內使用t

{% for li in t %}
    {{li}}
{% endfor %}

Java腳本代碼.....生成圖形:

<script type="text/javascript">
  google.load('visualization', '1', {packages: ['corechart','table']});
  function drawVisualization() {
    // Some raw data (not necessarily accurate)
    var data = google.visualization.arrayToDataTable([
         ['Job-Names', 'Total', 'Pass', 'Fail'],
             {{glist|safe}}
    ]);

    var options = {
          title : 'Project Details',
          vAxis: {title: "Number of BULDS" ,ticks : [2,4,6,8,10] },
          hAxis: {title: "Job-Names" , textPosition : "out" , slantedText : "false" , textStyle : {fontSize : 9}},
          is3D: true,
          colors : ["#194D86","#33FF66", "#FF3333"],
          pointSize: 4

    };

    var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
    chart.draw(data, options);

    var table = new google.visualization.Table(document.getElementById('table_div'));
    table.draw(data, {showRowNumber: false});
 }

我正在使用以上兩個列表的數據來生成圖形...我正在以字符串格式發送此數據...當我以dict(t =(',')。join(list1))的形式返回單個列表時它會生成一個圖形..但是如果我發送兩個列表..什么都沒有發生..或者可能我不知道它的解決方案

要遍歷模板中的兩個列表

extra_context = {}
extra_context['list1'] = ["['a',1,2,3]","['b',4,5,6]","['c',7,8,9]"]
extra_context['list2'] = ["[12-09-13,pass]","[8-05-12,fail]"]
return render_to_response(ex.html,extra_context)

在您的模板中:

{% for li in list1 %}
    {{li}}
{% endfor %}

{% for li in list2 %}
    {{li}}
{% endfor %}

您可以使用點運算符訪問不同的列表:

{% for li in t.0 %} // t.0 would be list1
{{li}}
{% endfor %}
{% for li in t.1 %} // t.1 would be list2
{{li}}
{% endfor %}

暫無
暫無

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

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