2016-08-09 4 views
0

J'ai une configuration de projet django. Je travaille sur l'ajout d'une nouvelle page avec un tableau croisé dynamique, en utilisant pivottable.js (https://github.com/nicolaskruchten/pivottable)Comment référencer les données de contexte dans la fonction pivottable.js

Mon problème est que je ne suis pas en mesure de charger les données csv de contexte views.py, {{data}}, de l'intérieur la fonction jQuery de pivottable.js.

Dans mon views.py:

def sysdev_pivottable(request): 
    context = {} 
    csvString = "" 
    with open("W:\\data.csv", 'rb') as csvfile: 
     reader= csv.reader(csvfile, delimiter=',', quotechar='|') 
     for row in reader: 
      csvString = csvString + ','.join(row) 

    context['data'] = csvString 
    template = loader.get_template('pivottable.html') 
    return HttpResponse(template.render(context, request)) 

En pivottable.html:

...

<h1> Test load: {{ data }}</h1> #this displays data properly 
<script type="text/javascript"> 

$(function() 
{ 
    var input1 = "1,2,3,4" #test data declared within the function() 
    $("#output").pivotUI(input1, {}); #this loads properly 
    var input2 = {{data}} ##this doesn't work, would break the rest of the <script> 
}); 
    </script> 
     <div id="output" style="margin: 10px;"> 
     </div> 

Je ne sais pas comment charger correctement {{data}} à partir du $(function(){}) . De l'extérieur du $(function(){}) je peux charger {{data}} correctement. Merci pour l'aide

+0

Essayez de changer 'var input2 = {{data}}' 'var à input2 = "{{data}}"' et vérifier si une erreur apparaît –

+0

@AnnaVracheva J'ai essayé aussi, il en résulte que la page Web ne charge rien car elle génère une erreur que je ne peux pas voir. Le problème est que toute référence aux données de contexte (any {{key}}) à partir du bloc $ (function()) semble provoquer l'échec de l'ensemble du bloc