У меня есть такая форма:
class CollaboratorForm(forms.Form):
user = forms.CharField(label="Username",max_length=100)
canvas = forms.IntegerField(widget=forms.HiddenInput)
....
def clean_user(self):
user = self.cleaned_data['user']
canvas = self.cleaned_data['canvas']
В представлении, которое я просто вызываю
if form.is_valid():
, я получаю сообщение об ошибке:
KeyError at /canvas/1/add-collaborator/
'canvas'
Согласно firebug, значение публикуется, просто похоже, что оно не попадает в мои чистая функция. Я делаю это неправильно?
РЕДАКТИРОВАТЬ: Опубликовать данные
canvas 1
csrfmiddlewaretoken 2cb73be791b32ca9a41566082c804312
user username
РЕДАКТИРОВАТЬ2: Я также хотел бы получить ответ, который мог бы сказать мне, как отправить первичный ключ в функцию clean_user, где первичным ключом является / 1 / в приведенном выше примере URL. Функция в вызываемом представлении:
def canvas_add_collaborator(request, pk):
Итак, я хотел бы отправить pk в функцию clean_user, которая решила бы мою проблему, не требуя скрытого поля.