У меня есть следующий шаблон 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}}
данные в функции перед возвратом обработанной страницы. Как мне собрать POST-информацию (в данном случае в скрытом вводе) в переменные Python?
input
и просто a,{{ form }}
а моя форма имеет только один ввод текста (поле ввода). как я могу получить доступ к его данным?name
атрибутом будет имя свойства, которому вы присвоили поле char. Если вы не на 100%, нажмите F12 в браузере с загруженной формой и выберите элемент ввода, чтобы увидеть, что Django дал атрибут name.Если вам нужно что-то сделать в интерфейсе, вы можете ответить на событие onsubmit вашей формы. Если вы просто отправляете сообщение в admin / start, вы можете получить доступ к переменным сообщения в вашем представлении через объект запроса. request.POST - словарь пост-переменных.
источник
Для форм django вы можете сделать это;
form = UserLoginForm(data=request.POST) #getting the whole data from the user. user = form.save() #saving the details obtained from the user. username = user.cleaned_data.get("username") #where "username" in parenthesis is the name of the Charfield (the variale name i.e, username = forms.Charfield(max_length=64))
источник