Передача массива из вида Django в HTML / JS - PullRequest
1 голос
/ 03 марта 2020

Я отправляю массив из представления django в html (в котором есть сценарий JS), но массив представляется строкой. Фактически, если я пытаюсь использовать console.log (массив [0]) или console.log (массив [1]), он возвращает в первом случае [и во втором случае '

код:

Django view

def results(request):
   h = request.POST['h']   
   name = request.POST['name']

   array = [h, name]
return render(request, 'app/index.html', {'h':h, 'array':array})

index. html

<script>
   var h = "{{ h }}"   //this is 3 
   var array = "{{ array|safe }}"  //this is ['3', 'John']
   console.log(h)
   console.log(array[0])
   console.log(array[1])

Консоль:

3 

[

'

I wi sh it было:

3

3

John

У вас есть идеи, как я могу получить доступ к значению n массива? Спасибо

Ответы [ 2 ]

1 голос
/ 03 марта 2020

Вы можете использовать {{ array|safe }} вместо "{{ array|safe }}" без каких-либо расширений.

0 голосов
/ 03 марта 2020

Попробуйте пакет django -jsonify

pip install django-jsonify

Затем добавьте jsonify в django INSTALLED_APPS

В вашем шаблоне

{% load jsonify %}

var array = {{ array|jsonify }}

Надеюсь, это поможет вам, если что-нибудь, пожалуйста, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...