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?
Ответы
Ответ 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-переменных