ho questo modulo:campo Hidden in forma Django non in cleaned_data
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']
Nella vista sto semplicemente chiamando
if form.is_valid():
ottengo l'errore:
KeyError at /canvas/1/add-collaborator/
'canvas'
Secondo Firebug, il valore è in fase di pubblicazione, ma sembra che non lo stia facendo alla mia funzione pulita. Sto sbagliando?
EDIT: i dati sul post
canvas 1
csrfmiddlewaretoken 2cb73be791b32ca9a41566082c804312
user username
EDIT2: Vorrei anche essere disposto a prendere una risposta che potrebbe dirmi come inviare la chiave primaria per la funzione clean_user, dove la chiave primaria è l'/ 1/nell'URL di esempio sopra. La funzione nella vista che si chiama è:
def canvas_add_collaborator(request, pk):
Quindi vorrei inviare il pk alla funzione clean_user che risolverebbe il mio problema da non aver bisogno il campo nascosto.
puoi aggiungere il contenuto del tuo post http? –
su EDIT2. Puoi passare pk alla funzione clean_user. 'clean_user (self, pk)' –