Django模板将数组传递给输入字段

时间:2019-06-18 20:05:39

标签: python django

我在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 个答案:

答案 0 :(得分:1)

您需要将数组拆分为几个隐藏字段,每个字段代表数组的一个位置:

  <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>