フォーム フィールドで JSON データを受け入れ、いくつかのデータベース操作を使用してそれを検証したいと考えています。データは主に整数の配列で構成されます。どうすればそれができるのか教えてください。
この件について Google で検索してみましたが、適切な回答が得られませんでした。助けてください。
ベストアンサー1
を使用してテキスト入力として取得する必要がありますCharField
。また、このフィールドの clean メソッドでは、要件に応じて検証し、入力が有効かどうかを確認できます。
何かのようなもの:
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 データ入力用のカスタム フィールドも見つかる場合があります。