Lista de Python no conseguir en dictada en Javascript
-
21-09-2019 - |
Pregunta
Tengo un javascript que tiene dos variables es decir dos listas es una lista de los números y la otra lista de cadenas de Django / Python
numbersvar = [0,1,2,3]
stringsvar = ['a','b','c']
El numbersvar se hace perfectamente, pero cuando lo haga {{}} stringsvar que no la hace.
Solución
Tal vez será mejor utilizar un JSON módulo para crear una lista de javascript?
>>> a = ['stste', 'setset', 'serthjsetj']
>>> b = json.dumps(a)
>>> b
'["stste", "setset", "serthjsetj"]'
>>> json.loads(b)
[u'stste', u'setset', u'serthjsetj']
Otros consejos
¿Qué contiene stringsvar? La lista, o la representación de cadena de la lista?
Le sugiero que pase la representación de cadena Javascript correcto de la lista a partir del método objeto de la plantilla para rendir. Python y literales de matriz de JavaScript tienen la misma sintaxis, por lo que podría hacer:
def my_view(request):
return render_template("...", stringsvar=str(the_list))
Y en la plantilla:
<script language="javascript">
stringsvar = {{ stringsvar }};
...
</script>
O puede utilizar el serializador JSON, esto tiene la ventaja añadida de que usted será capaz de pasar a otros tipos de valores.
from django.core import serializers
def my_view(request):
return render_template("...", stringsvar=serializers.serialize("json", the_list))