Django-взятие значений из запроса POST


у меня есть следующий шаблон django (http://IP/admin/start/ присваивается гипотетическому представлению под названием view):

{% for source in sources %}
  <tr>
    <td>{{ source }}</td>

    <td>
    <form action="/admin/start/" method="post">
      {% csrf_token %}
      <input type="hidden" name="{{ source.title }}">
      <input type="submit" value="Start" class="btn btn-primary">
    </form>
    </td>

  </tr>
{% endfor %}

sources это objects.all() модели Django, на которую ссылаются в представлении. Всякий раз, когда нажата кнопка" Начать", я хочу, чтобы представление" начать " использовало {{ source.title}} данные в функции перед возвратом отрисованной страницы. Как собрать информацию, размещенную (в данном случае, в скрытом вводе) в переменные Python?

2 53

2 ответа:

прочитайте об объектах запроса, которые получают ваши представления: https://docs.djangoproject.com/en/dev/ref/request-response/#httprequest-objects

также ваше скрытое поле нуждается в надежном имя и значение:

<input type="hidden" name="title" value="{{ source.title }}">

затем в виде:

request.POST.get("title", "")

Если вам нужно что-то сделать на переднем конце, вы можете ответить на событие onsubmit своей формы. Если вы просто публикуете в admin / start, вы можете получить доступ к переменным post в своем представлении через объект запроса. запрос.Сообщение, которое является словарем переменных post