سؤال

لديّ JavaScript يأخذ متغيرين ، أي قائمتين ، واحدة هي قائمة بالأرقام وقائمة السلاسل الأخرى من Django/Python

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

يتم تقديم NumberVar بشكل مثالي ، لكن عندما أفعل {{{{{}} ، فإنه لا يقدمه.

هل كانت مفيدة؟

المحلول

ربما سيكون من الأفضل استخدام أ جيسون الوحدة النمطية لإنشاء قوائم JavaScript؟

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

نصائح أخرى

ماذا يحتوي stringsvar؟ القائمة ، أو تمثيل سلسلة القائمة؟

أقترح عليك تمرير تمثيل سلسلة JavaScript الصحيح للقائمة من طريقة العرض إلى القالب لتقديمه. يحتوي Python و JavaScript Array على نفس بناء الجملة ، لذلك يمكنك القيام به:

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

وفي القالب:

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

أو يمكنك استخدام JSON Serializer ، وهذا له فائدة إضافية تفيد بأنك ستتمكن من تمرير أنواع أخرى من القيم أيضًا.

from django.core import serializers
def my_view(request):
    return render_template("...", stringsvar=serializers.serialize("json", the_list))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top