Frage

Ich habe ein Javascript, das zwei Variablen d.h zwei Listen nimmt man eine Liste von Nummern und die andere Liste von Strings von django / python

numbersvar = [0,1,2,3]
stringsvar = ['a','b','c']

Die numbersvar gemacht wird perfekt, aber wenn ich tun {{stringsvar}} es ist es nicht machen.

War es hilfreich?

Lösung

Vielleicht wird es besser sein, eine zu verwenden, json Modul eine JavaScript-Listen erstellen?

>>> a = ['stste', 'setset', 'serthjsetj']
>>> b = json.dumps(a)
>>> b
'["stste", "setset", "serthjsetj"]'
>>> json.loads(b)
[u'stste', u'setset', u'serthjsetj']

Andere Tipps

Was stringsvar enthält? Die Liste, oder die Stringdarstellung der Liste?

Ich schlage vor, Sie die richtige Javascript String-Darstellung der Liste aus der Sicht Methode, um die Vorlage passieren zu machen. Python und JavaScript-Array-Literale haben die gleiche Syntax, so dass Sie tun können:

def my_view(request):
    return render_template("...", stringsvar=str(the_list))

Und in der Vorlage:

<script language="javascript">
stringsvar = {{ stringsvar }};
...
</script>

Oder Sie die json Serializer verwenden können, hat dies den zusätzlichen Vorteil, dass Sie in der Lage sein werden, andere Arten von Werten als auch passieren.

from django.core import serializers
def my_view(request):
    return render_template("...", stringsvar=serializers.serialize("json", the_list))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top