2

Djangoビューで次のコードを使用しています

data = {'d':['a','b','c']}
return render_to_response('login/invalid.html',data)

ドロップダウンメニューにデータを入力できるように、リストをJavaScript変数配列invalid.htmlに変換するコードをページに追加したいと思います。['a','b','c']しかし、これらの要素を JavaScript 配列に変換することはできません。

var arr = "{{ 'd' }}"

リストは配列ではなく文字列として受け取ります助けてください


このコードは、配列を使用してドロップダウンを作成します

<select >
              <script type="text/javascript">

              {% autoescape off %}
              var veg = {{ d }}
              {% endautoescape %}

                 for (i = 0; i < veg.length; i++) {
                     document.write('<option>')
                     document.write(veg[i])                   
                     document.write('</option>')                    
                }
             </script>            
         </select>

                d = json.dumps(['a','b','c'])
                #d = serializers.serialize("json", ['a','b','c'])
                #data={"d":json.dumps(['1','2','3','4'])}
                #data={}
                data = {'d':d}

                #data["read"] = json.dumps(",".join(['abc']))

                #return render_to_response('login/invalid.html',json.dumps(data),context_instance=RequestContext(request))

                return render_to_response('login/invalid.html',data,context_instance=RequestContext(request))
4

2 に答える 2

2

おそらく、データを json としてシリアライズする必要があります。

import json

d = json.dumps(['a','b','c']) 
# now d actually has a json string
data = {'d':d}
return render_to_response('login/invalid.html',data)

次に、テンプレートで

// arr now holds the list
{% autoescape off %}
var arr = {{ d }}
{% endautoescape %}
console.log(arr);
arr.doSomething();
于 2012-05-30T09:53:44.723 に答える
1

を介してリストをJSONに変換jsonし、テンプレートに出力して、必要に応じて安全とマークします。

于 2012-05-30T09:38:12.057 に答える