2014-01-22 17 views
0

(從sqlite3的數據庫元素的數組)(包括在HTML JavaScript代碼):http://jsfiddle.net/f4Ef7/使用Django變量基於此Highcharts示例內的JavaScript嵌入代碼

我有一個模板,我希望嵌入的JavaScript代碼,而無需必須包含任何靜態。任何與JS無關的東西都會被瀏覽器處理。目前我views.py看起來像:

# -*- encoding: utf-8 -*- 

from django.shortcuts import render 
from django.http import HttpResponse 
from tfgplot.models import estado_foneras 
from django.template import RequestContext, loader 

from tfgplot.models import estado_foneras 

def index(request): 
    clave = estado_foneras.objects.order_by('clave') 
    template = loader.get_template('tfgplot/index.html') 
    context = RequestContext(request, { 
     'clave': clave, 
    }) 
    return render(request, 'tfgplot/index.html', context) 

如果我使用下面的代碼,它描繪完美,我得到了我期望:

<!DOCTYPE html> 
<html> 
    <head> 
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script src="http://code.highcharts.com/highcharts.js"></script> 
    <script src="http://code.highcharts.com/modules/exporting.js"></script> 
    </head> 
    <body> 
    <div id="container" style="min-width: 300px; height: 300px; margin: 1em"> 
    </div> 
    <script type="text/javascript"> 
     {% autoescape off %} 
     $(document).ready(function(){ 
      $('#container').highcharts({ 
       xAxis: { 
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 
         'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
       }, 
       series: [{ 
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 
       }] 
      }); 
     }); 
     {% endautoescape %} 
    </script> 
    </body> 
</html> 

我也能寫在名單我想在JS中使用的值的html。所以,我可以通過使用{{ classK.attr1 }}<ul><li>標籤將.html中的數據顯示在循環遍歷所有記錄的內部。

現在,我需要繪製存儲在sqlite3數據庫中的值。每個類別(即圖形中每個X值的一個Y軸值)都有一個數據值。這兩個值在表格的每一行上。我已經嘗試了很多東西,如:

$(document).ready(function(){ 
     $('#container').highcharts({ 
      xAxis: { 
       categories: {{ classK.attr1 }} 
      }, 
      series: [{ 
       data: {{ classK.attr2 }} 
      }] 
     }); 
    }); 

任何建議,這樣我就可以使用所有這些數據庫值作爲一種陣列X和Y軸的?

+0

您的{{classK.attr1}}和{{classK.attr2}}的外觀如何? D你返回它作爲JavaScript數組或字符串? –

+0

我的models.py樣子: # - * - 編碼:UTF-8 - * - 從django.db進口車型 類classK(models.Model): attR1位= models.CharField(MAX_LENGTH = 6) attR2位= models.SmallIntegerField() – EnriqueH

+0

塞巴斯蒂安(和我)想知道的是在HTML頁面中生成的輸出 - 你能粘貼這個嗎?不是你的模型或其他Python代碼。 –

回答

1

您發送給您模板的唯一變量稱爲'clave',但您嘗試使用名爲'classK'的變量。也許你沒有把變量發送到你認爲你的模板上?

+0

我能夠訪問模型classK中的所有字段(我喜歡9,我可以在index.html中閱讀它們)。我可以使用clave(= models.AutoField(primary_key = True))以及其他字段。 – EnriqueH