Невозможно передать массив переменных шаблона django через сообщение обратно для просмотра - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь разработать некоторые базовые c django шаблоны, в которых я изначально передаю переменную шаблона django, которая является массивом - {{array_list}}. Я могу выполнять операции на этом DTV легко. Но я не могу опубликовать эту переменную для просмотра. Например. Я передаю {'array_list': [1,2,3,4]}

<form action="some_action" method="post">
    {% csrf_token %}
    <input type="submit" value="sort">
    <input type="hidden" name="array_list" value={{array_list}}>
</form>

И в views.py:

array_list = request.POST['array_list']
return render(request, 'result.html', {'array_list': array_list})

Но я не получаю полный массив назад к результату. html, и я получаю только [1, как array_list.

1 Ответ

1 голос
/ 21 января 2020

Возможно, вы можете сделать что-то вроде этого:

Сначала используйте тег join, чтобы превратить этот список в строку, разделенную запятыми.

<form action="some_action" method="post">
    {% csrf_token %}
    <input type="submit" value="sort">
    <input type="hidden" name="array_list" value='{{array_list|join:","}}'>
</form>

И получить значение в запросе POST и разделить его на ,.

array_list = request.POST['array_list'].split(',')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...