У меня есть эта форма:
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, которая решит мою проблему, не требуя скрытого поля.