Sam*_*nch 9 python django django-forms django-views
我有这样的形式:
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']
Run Code Online (Sandbox Code Playgroud)
在视图中我只是打电话
if form.is_valid():
Run Code Online (Sandbox Code Playgroud)
我收到错误:
KeyError at /canvas/1/add-collaborator/
'canvas'
Run Code Online (Sandbox Code Playgroud)
根据萤火虫的价值是发布,它似乎似乎没有成为我的清洁功能.我做错了吗?
编辑:发布数据
canvas 1
csrfmiddlewaretoken 2cb73be791b32ca9a41566082c804312
user username
Run Code Online (Sandbox Code Playgroud)
EDIT2:我也愿意接受一个可以告诉我如何将主键发送到clean_user函数的答案,其中主键是上面示例url中的/ 1 /.调用的视图中的函数是:
def canvas_add_collaborator(request, pk):
Run Code Online (Sandbox Code Playgroud)
所以我想将pk发送到clean_user函数,这将通过不需要隐藏字段来解决我的问题.