我希望在表单字段中接受json数据,而不是使用一些数据库操作来验证它。数据将主要由整数数组组成。那么,请您能帮我一下。

我试图用谷歌搜索,但没有得到任何体面的答案。请帮忙。

最佳答案

您需要使用CharField将其作为文本输入。在此字段的干净方法中,您可以根据需要验证它,以检查输入是否有效。

就像是:

class myForm(forms.Form):
     jsonfield = forms.CharField(max_length=1024)

    def clean_jsonfield(self):
         jdata = self.cleaned_data['jsonfield']
         try:
             json_data = json.loads(jdata) #loads string as json
             #validate json_data
         except:
             raise forms.ValidationError("Invalid data in jsonfield")
         #if json data not valid:
            #raise forms.ValidationError("Invalid data in jsonfield")
         return jdata


您可能还会发现一个用于JSON数据输入的自定义字段。

关于django - 带有JSON字段的Django表单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14626702/

10-13 04:48