как передать контекстную переменную из шаблона в представление в Django - PullRequest
0 голосов
/ 06 апреля 2019

У меня есть одна html-страница, которая показывает мне список всех пассажиров, читающих ее из БД, выглядит примерно так, как показано ниже, и фрагмент кода под изображением:

enter image description here

Forms.py

<form   action="{% url 'test' %}"   method="POST">
    {% for record in obj %}
<div class="container">
{% csrf_token %}
  <div class="card">
    <div class="card-body">
        <div class="row">
            <div class="col">{{ record.id }}</div>
          <div class="col">{{ record.detination }}</div>
          <div class="col">{{ record.arrivaltime }}</div>
          <div class="col">{{ record.gender }}</div>
            <div class="col">{{ record.luggage  }}</div>
            <div class="col">{{ record.flag }}</div>
            <div class="col">{{ record.phonenum }}</div>
        <button id="button1">Request</button>
        </div>
    </div>
  </div>

</div>
    {% endfor %}
</form>

Как вы видите, с каждой записью связана кнопка запроса, поэтому при каждом щелчке я хочу, чтобы эта конкретная запись сохранялась в БД.

У меня есть представление, которое берет запрос из шаблона и должно хранить те 7 значений параметров, которые находятся внутри тегов div в дБ.

Views.py

def test(request):
        form = BlogCommentsForm(request.POST)
        if form.is_valid():
               form.save()

Проблема в том, что когда я получаю запрос в представлении, я вижу две проблемы:

  1. Моя форма возвращает is_valid () как Flase.
  2. передается весь список объектов, а не одна запись.

Результаты request.POST должны были соответствовать одному щелчку записи, но приводились в некотором словаре, как показано ниже, имеющем все объекты издБ, чем один

Треб.uest.POST дает мне такой результат:

<QueryDict: {'csrfmiddlewaretoken': ['sqvfMziME3T7L0VQOUF7H3Po3etfqmsvf4SbH57Fk28DkbiiGBa7dNQF2lazcM7W', 'sqvfMziME3T7L0VQOUF7H3Po3etfqmsvf4SbH57Fk28DkbiiGBa7dNQF2lazcM7W', 'sqvfMziME3T7L0VQOUF7H3Po3etfqmsvf4SbH57Fk28DkbiiGBa7dNQF2lazcM7W', ]}>

Я точно не знаю, где я делаю вещи неправильно.Может ли кто-нибудь помочь мне в этом?

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