Виджет HiddenInput в формах Django
Виджет HiddenInput рисует
input type="hidden":
поле уходит в POST, но
на странице его не видно.
Так передают служебные значения -
токен, источник перехода, id
записи:
from django import forms
class OrderForm(forms.Form):
product = forms.CharField()
source = forms.CharField(
widget=forms.HiddenInput,
initial='landing',
)
Скрытое поле не секрет: его видно в HTML и можно подменить. Секреты так не хранят.
Добавьте скрытое поле
source с начальным
значением 'site'.
В представлении задайте
скрытому полю значение
через initial при
создании формы и проверьте
его в cleaned_data
после отправки.