Cómo pasar una matriz en Django a una plantilla y usarla con JavaScript

Quiero pasar una matriz a una plantilla y luego usarla a través de JavaScript.

En mi views.py tengo:

arry1 = ['Str',500,20] return render_to_response('test.html', {'array1': arry1}) 

Y en mi plantilla:

 var array1 = {{ array1 }}; 

pero cuando visito el website produce:

 var array1 = ['Str',500,20]; 

¿Qué tengo que cambiar?

4 Solutions collect form web for “Cómo pasar una matriz en Django a una plantilla y usarla con JavaScript”

Intenta usar {{ array1|safe }} y mira si eso hace alguna diferencia. No he probado esto, así que espero que no me decanté demasiado si esto no es correcto …

Como se mencionó, puede usar el filter | safe para que Django no desinfecte la matriz y la deje como está.

Otra opción, y probablemente la mejor para el largo ploop, es usar el module simplejson (está incluido con django) para formatear su list de Python en un object JSON en el que puede escupir nuevamente al Javascript. Puede recorrer el object JSON como lo haría con cualquier matriz realmente.

de django.utils import simplejson

list = [1,2,3, 'String1']

json_list = simplejson.dumps (list)

render_to_response (template_name, {'json_list': json_list})

Y en tu Javascript, solo {{json_list}}

En Django:

 from django.utils import simplejson json_list = simplejson.dumps(YOUR_LIST) 

Y PASE "json_list" EN CONTEXTO

EN JS:

 var YOUR_JS_LIST = {{YOUR_LIST|safe}}; 

Podría ser hecho por django core serializers. Todo lo que necesita hacer es serializar sus datos en json y pasarlos a la plantilla.

 data = serializers.serialize("json", <list>) return render(request, 'view.html', {'data':data}) 

En su plantilla, guarde esta list en la variable javascript.

 var list = {{data|safe}} 
  • Django: tags de plantilla en files javascript y css
  • Plantillas de Django: insert valores para las variables de JavaScript
  • Error: las templates solo deberían ser responsables de asignar el estado a la IU. Evite colocar tags con efectos secundarios en sus templates, como <script>
  • Cómo PUBLICAR un formulario django con AJAX y jQuery
  • Insertar una variable JS dentro de una label de plantilla de Django
  • La inheritance de la plantilla Django / Jinja del lado del cliente (JavaScript)
  • AngularJS con Django - Etiquetas de plantilla en conflicto
  • cómo agregar un post de confirmación de eliminación
  • span de la tabla html si los datos son iguales
  • Plantilla Django - Convierta una list de Python en un object de JavaScript
  • Carga automática de contenido al desplazarse hacia abajo
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.