Подтвердить что ты не робот

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, на которую ссылается в представлении. Всякий раз, когда нажата кнопка "Начать", я хочу, чтобы представление "start" использовало данные {{ source.title}} в функции перед возвратом отображаемой страницы. Как собрать информацию POSTed (в данном случае, в скрытом вводе) в переменные Python?

4b9b3361

Ответ 1

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

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

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

Тогда в представлении:

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

Ответ 2

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