当前位置:  开发笔记 > 编程语言 > 正文

Django中的隐藏字段不在cleaning_data中

如何解决《Django中的隐藏字段不在cleaning_data中》经验,为你挑选了1个好方法。

我有这样的形式:

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'

根据萤火虫的价值是发布,它似乎似乎没有成为我的清洁功能.我做错了吗?

编辑:发布数据

canvas  1
csrfmiddlewaretoken 2cb73be791b32ca9a41566082c804312
user    username

EDIT2:我也愿意接受一个可以告诉我如何将主键发送到clean_user函数的答案,其中主键是上面示例url中的/ 1 /.调用的视图中的函数是:

def canvas_add_collaborator(request, pk):

所以我想将pk发送到clean_user函数,这将通过不需要隐藏字段来解决我的问题.



1> Chris Lacass..:

您需要将方法名称更改为clean(),而不是clean_user().如果您只是验证用户字段,'canvas'不在cleaning_data中.

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有