2017-09-08 14 views
0

私の変数をDjangoのビューからjavascriptファイルに渡そうとしています。私はいくつかのガイダンスを得るためにスタックの質問(How can I pass my context variables to a javascript file in Django?)を読んでいますが、私は少し違うものを試しています。私はその特定のjavascript参照スクリプトタグ内のjavascriptファイルに変数を渡すか、変数宣言の順序を変更したいと思います。一例で示すことが容易である:Django - 同じスクリプトタグ内の変数をjavascriptファイルに渡します。

マイsomerandom.js:

console.log(variable); 

をどのような作品

{% extends base.html %} 
{% load static %} 
{% block body %} 
    <h1> Hello, World! </h1> 
{% endblock body %} 
{% block javascript %} 
    <script> 
     var variable = {{ my_var }}; 
    </script> 
    <script src="{% static "app1/bootstrap/js/somerandom.js" %}"></script> 
{% endblock javascript %} 

を動作しません。何

編集:デベロッパーツール(ChromeのF12キーを押してください)でこのエラーが表示されるため、これは機能しません。UncいやしくもにReferenceError:変数が

1に定義されていません。

{% extends base.html %} 
{% load static %} 
{% block body %} 
    <h1> Hello, World! </h1> 
{% endblock body %} 
{% block javascript %} 
    <script src="{% static "app1/bootstrap/js/somerandom.js" %}"></script> 
    <script> 
     var variable = {{ my_var }}; 
    </script> 
{% endblock javascript %} 

2:私は仕事にそれらの2をしたい

{% extends base.html %} 
{% load static %} 
{% block body %} 
    <h1> Hello, World! </h1> 
{% endblock body %} 
{% block javascript %} 
    <script src="{% static "app1/bootstrap/js/somerandom.js" %}"> 
     var variable = {{ my_var }}; 
    </script> 
{% endblock javascript %} 

理由は、私はきちんと私の後に整理し、私の変数を参照することができていますコードが長くなります。そして、このリンク(http://www.mutaku.com/wp/index.php/2012/03/accessing-django-template-variables-in-javascript/)では、javascriptファイルを参照した後に変数を宣言できることを示しています。

+0

何がうまくいかないのですか?エラー文字列やスタックトレースを教えてください。あなたは "エラー"とは何ですか? – jperelli

+0

私が見ているエラーメッセージを追加しました。基本的には、 "変数は定義されていません"と言います。 – addicted

+1

'somerandom.js'が' variable'にアクセスしようとすると、後で宣言するときにこのエラーが発生するのが普通です。あなたがリンクしたページのメソッドがうまくいくかどうかは疑いの余地がありません。 – Selcuk

答えて

1

あなたはそれでsrc= ...コンテンツ<script>タグを使用する場合の動作は未定義である、と強くあなたが使用しているブラウザに関連しています。例えば、クロムとスクリプトがsrc=...と内容からロードされます<script>は無視されます
しかし、それは強く推奨されません

関連する問題