#アンチシリアライズ商品分類
クラスCategoryUnSerializer(serializers.Serializer):
#の制約
名= serializers.CharField(MAX_LENGTH = 32 )
#追加
DEF 作成します(自己、validated_data):
リターン models.Category.objects.create(** validated_data)
rest_framework.views インポートAPIView
から rest_framework.response インポートレスポンス
から。輸入モデル
から。シリアライザインポート * #カテゴリーのクラス:CateView(APIView)
DEF POST(自己、要求):
OBJ = CategoryUnSerializer(データ= request.data) #の呼び出しデシリアライゼーションのIF obj.is_valid(): #制約することによって場合
obj.save() #をデシリアライズメソッドを作成しますが、中に行わリターン{(レスポンスを
"
ステータス':200は、
' MSG ':'' 、
' データ':''
})
を返す({応答を
' ステータス':201 、
' MSG ':' 追加に失敗しました' ' データ':' '
})
<テンプレート>
の<divのid = "addcate">
<P>分类名称の<input type = "text" Vモデル= "catename"> </ P>
<ボタンをクリック@ = "サブ">添加</ button>の
< / DIV>
</テンプレート>
<スクリプト>
輸出デフォルト{
名: 'addcate' 、
データ(){
リターン{
catename: '' // 初始
}
}、
メソッド:{
サブ:機能(){
この.axios({
URL : '/ API / app01 /ケイト/' 、
方法:「ポスト」、
データ:{ '名前':この.catename}
。})を(RES => {
場合(res.data.status == 200 ){
アラート( '添加成功' )
} 他{
アラート(res.data.msg)
}
})
}
}
}
'@ /コンポーネント/ AddCate'からインポートaddcate
{
:パス '/ addcate' 、
名称: 'addcate' 、
成分:addcate
}