Передача массива шаблона Django в поле ввода - PullRequest
0 голосов
/ 18 июня 2019

У меня есть скрытое поле ввода в моем шаблоне django, где я передаю в качестве значения массив.

  <form method="post" action="{% url 'flights:flight-selection' %}">{% csrf_token %}
    <input type="hidden" id="fa_f_ids" name="fa_f_ids" value="{{ value.fa_f_ids }}">
    <button type="submit" class="btn btn-light">Select</button>
  </form>

Когда я отправляю эту форму через почтовый запрос, я хочу получить значение fa_f_idsкак массив, но вместо этого я получаю строку, когда я хочу получить массив.

request.POST.get("fa_flight_id")
#=> <QueryDict: {'csrfmiddlewaretoken': ['UoYqbTUlNxTEJW5AUEfgsgsLuG63dUsvX88DkwGLUJfbnwJdvcfsFhi75yie5uMX'], 'fa_f_ids': ["['AMX401-1560750900-schedule-0000', 'AMX19-1560782100-schedule-0001']"]}>

1 Ответ

1 голос
/ 18 июня 2019

Вам нужно разбить массив на несколько скрытых полей, каждое из которых представляет одну позицию вашего массива:

  <form method="post" action="{% url 'flights:flight-selection' %}">
    {% csrf_token %}
    {% for val in value.fa_f_ids %}
        <input type="hidden" name="fa_f_ids[{{ forloop.counter0 }}]" value="{{ val }}">
    {% endfor %}
    <button type="submit" class="btn btn-light">Select</button>
  </form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...