2012-04-18 17 views
0

JavaScript内でDjangoのテンプレートタグを使用するにはどうすればよいですか?これは私のコードです:JavaScriptでdjangoテンプレートタグを使用する

{% block scripts %} 
<script> 
    $(document).ready(function() { 
     var classEditor = { 
      dcg: $("div.control-group"), 

      set: function(i, errors) { 
       $dcg = $(classEditor.dcg[i]); 
       $dcg.addClass("error"); 
       $dcg.children('div').children('div').children('p').text(errors); 
      } 
     }; 

     {% if form.email.errors %} 
      {% for err in form.email.errors %} 
       {{ e|add:err }} 
      {% endfor %} 
      classEditor.set(1, {{ e }}); 
     {% endif %} 
    }) 
</script> 
{% endblock %} 

私はすべてのエラーを関数に送り、何かをしたいと思います。 striptagsstringformatを使用しようとしましたが、常にエラーが発生します。

答えて

1

私はあなたの問題はJavascriptとは何の関係もないと思います。問題は次のとおりです。

{{ e|add:err }} 

これはまったく意味がありません。あなたがリストeを構築しようとしているようですが、form.email.errorsのすべての項目で構成されています。しかし、あなたはテンプレートでそのようなことをすることはできません。データ操作は設計上許可されていません。 addフィルタは数値計算を表示するだけで、オブジェクトは変更されません。

おそらく、ビュー内のJSONにエラーをシリアル化し、そのJSONオブジェクトをclassEditor.setに渡したいとします。