Djangoさんのテンプレートないでjavascriptを記述していて、そのスクリプト内にある文字列を変数に代入しようとして
var aaa = "{{ test }}";
なんてしておいた時に、testの値に改行などが入っていた際には、javascriptが動かなくなります。
そんな感じを防止するために
var aaa = "{{ test|escapejs }}";
のような感じでescapejsというフィルターを使うとエラーにならないようにしてくれます。
でも、html的に安全でないとかいう感じで書いてあったので、私はこんな感じにしてみました。
var aaa = "{{ test|striptags|escapejs }}";
便利なDjangoのテンプレートのフィルターは、
http://djangoproject.jp/doc/ja/1.0/ref/templates/builtins.html#ref-templates-builtins-filters
で確認できます。
0 件のコメント:
コメントを投稿