私はview
によって前方に渡されるいくつかのサウンドを再生するように設定されています。私はストレートコードに入るつもりです:JavascriptとDjangoの「静的」テンプレートタグ
var sounds = "{{js_sounds|escapejs}}";
sounds = JSON.parse(sounds);
var howls = {};
sounds.forEach(function(sound){
howls[sound] = new Howl({
src: ["{% static 'audio/"+sound+".mp3' %}"]
});
$(document).on('click', '#'+sound+'_btn_play', function(){
howls[sound].play();
});
$(document).on('click', '#'+sound+'_btn_stop', function(){
howls[sound].stop();
});
}
ないneatestソリューションを - HTMLテンプレートもサウンドを再生するためのボタンや、物事の束、クリック機能上のもので、私のJavascriptの参照を作成します。また、Javascript Howlerライブラリを使用して、サウンドの再生を簡単にしています。
これをローカルでテストしたところ、完全に機能しましたが、展開した後、src: ["{% static 'audio/"+sound+".mp3' %}"]
という問題が発生しました。 Djangoタグにサウンドを挿入し、それを1つの文字列として実行するのではなく、src: ["{% static 'audio/%22%2Bsound%2B%22.mp3' %}"]
として実行している、つまり文字列の一部として"+
を解析しようとしているため、これは変わって実行されているようです。
私は、なぜローカルではなくデプロイされているときにこれをやっているのか分かりません。また、このプロセスをより良くする方法(おそらくJavascriptでテンプレートタグを使用していない、それが正しく感じられない)についてのフィードバックは非常に高く評価されますが、実際にはこのsound
値をタグに渡す方法を探していますJavascriptで