2017-04-04 3 views
-1

htmlファイルに「感情」と呼ばれる辞書があります。次HTML変数をjavascriptファイルに分割する

{% if sentiments %} 
    <p>{{sentiments}}</p> 
{% else %} 
    <p>none</p> 
{%endif%} 

プリント:

('very positive', 34) 
('positive', 64) 
('neutral', 44) 
('negative', 11) 
('very negative', 27) 

だから私は多くが正常に動作していることを知っています。

Morris.Bar({ 
    element: 'bar-chart', 
    data: [ 
     { x: 'V. Pos', y: 10}, 
     { x: 'Pos', y: 20}, 
     { x: 'Neutral', y: 30}, 
     { x: 'Neg', y: 20}, 
     { x: 'V.Neg', y: 10}, 
    ], 

    xkey: 'x', 
    ykeys: ['y'], 
    labels: ['# Tweets'], 
    barColors: function (row, series, type) { 
     console.log("--> "+row.label, series, type); 
     if(row.label == "V. Pos") return "#3300FF"; 
     else if(row.label == "Pos") return "#6600FF"; 
     else if(row.label == "Neutral") return "#9900FF"; 
     else if(row.label == "Neg") return "#FF3333"; 
     else return "#ff0000"; 
    } 
}); 

を次のように私はこのスクリプトを呼び出しています:

<div class="bar"; style="float:left; width:50%;"> 
    <div id="bar-chart"></div> 
    <script src="../static/barchart.js"></script> 
</div> 

私は私の辞書を渡したい」別々のJavaScriptファイルでは、私は次のようにハードコードされた値とモリスの棒グラフを持っていますこのスクリプトに「センチメント」を追加し、その値を使用して、私が現在持っているハードコードされた値ではなく、グラフに値を設定します。どんな助けでも大歓迎です。私はPythonとhtmlを接続するためにFlaskを使用しています。

答えて

0

次の操作を行うことにより、JSに変数を転写することができますページをレンダリングするとき

<body> 
 
    <script> 
 
    var myData = JSON.parse('{{sentiments_str | safe}}') 
 
    </script> 
 
</body>

は、同様に、json.dumpsを使用してsentimentsに合格することを確認してください:

return render_template('page.html', sentiments_str=json.dumps(sentiments)) 
+1

缶あなたはdownvoteを説明してください? –

+0

答えをありがとう。 var sentiments_dict = {{sentiments_str}} 「式文は代入や呼び出しではありません」 – Aine

+0

私はいくつかの変更を加えて試してみました。 –

関連する問題