1

私はjavascriptが初めてです。私はdjangoプロジェクトに取り組んでいます。ディクショナリ テンプレート変数を JavaScript に渡す必要がありますが、できませんでした。

views.py には以下が含まれます。

def index(request):
   name={'bishal':509,'bishnu':510}
   return render_to_response("test.html",Context({'name':simplejson.dumps(name)}))

test.html には以下が含まれます。

{% load staticfiles %}
{% block include_js %}
<script src="{% static "js/chart.js" %}"></script>
<script src="{% static "js/test.js" %}"> </script>
{% endblock include_js %}

{% block main_content %}

    <script type="text/javascript" src="static/js/test.js"></script>
    <script type="text/javascript">
       var name={{name}};
    </script>
    <button class="btn btn-primary" id="btn1" type="button" onclick="myfunction()">1st visualization</button>
    {% endblock %}

test.js には以下が含まれます。

$(function myfunction() {
 document.getElementById('btn1').onclick=function(){
        name=JSON.parse(name);
        alert(name);
   };
});

しかし、次のように言ってエラーが発生します:

[30/Jul/2013 02:50:51] "GET /visualize/static/js/test.js HTTP/1.1" 404 2732

私はhtmlで同様のことを試しました:

    <html>
<head>

<script type="text/javascript">
function myfunction()
{
    dict=JSON.parse(dict);
    alert(dict);

}
</script>

</head>
<body>

<script type="text/javascript">
var dict='{"bishnu": 509, "bishal": 510}';
</script>

<form>
<input type="button" 
onclick="myfunction()" 
value="Call function">
</form>

<p>By pressing the button, a function will be called. The function will alert a message.</p>

</body>
</html>

これは完璧に機能しました。助けてください!

4

2 に答える 2

2

すべての JavaScript を無視します。問題の重要な行は次のとおりです。

[30/Jul/2013 02:50:51] "GET /visualize/static/js/test.js HTTP/1.1" 404 2732

404 は「ファイルが見つかりません」の HTTP コードです。これは、JavaScript ファイルの参照に間違ったパスを使用していることを意味します。それを修正すると、ソリューションが機能することがわかる場合があります-または、そうでない場合は、少なくとも別の方法で壊れます。

于 2013-07-30T08:19:36.787 に答える
0

@Adrianはエラーメッセージについて正しいですが、あなたが考えている問題は{{name}}、test.htmlに引用符を付けていないことが原因であると思われます. 試す:

<script type="text/javascript">
    var name='{{name}}';
</script>
于 2013-07-30T09:49:08.843 に答える