Tôi có mẫu đơn này:Hidden lĩnh vực ở dạng Django không 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']
Trong giao diện Tôi chỉ đơn giản là gọi
if form.is_valid():
tôi nhận được lỗi:
KeyError at /canvas/1/add-collaborator/
'canvas'
Theo firebug giá trị được đăng, nó chỉ có vẻ không được làm cho nó vào chức năng sạch của tôi. Tôi có làm sai không?
EDIT: Đăng dữ liệu
canvas 1
csrfmiddlewaretoken 2cb73be791b32ca9a41566082c804312
user username
EDIT2: Tôi cũng sẽ sẵn sàng chấp nhận một câu trả lời có thể cho tôi biết làm thế nào để gửi chìa khóa chính để chức năng clean_user, nơi mà các khóa chính là/1/trong url mẫu ở trên. Các chức năng trong giao diện được gọi là:
def canvas_add_collaborator(request, pk):
Vì vậy, tôi muốn gửi pk đến chức năng clean_user mà sẽ giải quyết vấn đề của tôi bằng cách không cần các trường ẩn.
bạn có thể thêm nội dung của bài đăng http của mình không? –
về EDIT2. Bạn có thể chuyển pk sang hàm clean_user. 'clean_user (self, pk)' –