私の変数を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ファイルを参照した後に変数を宣言できることを示しています。
何がうまくいかないのですか?エラー文字列やスタックトレースを教えてください。あなたは "エラー"とは何ですか? – jperelli
私が見ているエラーメッセージを追加しました。基本的には、 "変数は定義されていません"と言います。 – addicted
'somerandom.js'が' variable'にアクセスしようとすると、後で宣言するときにこのエラーが発生するのが普通です。あなたがリンクしたページのメソッドがうまくいくかどうかは疑いの余地がありません。 – Selcuk