1.Djangoコンフィグレーションの確認
1.ルート分布含みます
2.app登録:アプリは、データベース関連の操作を使用していない登録することはできません。DRFは、使用する前に登録する必要があります。短いに追加するように登録:登録は__init__ファイル次のアプリパッケージをロードします
3.データベース構成:構成設定ファイル
3.ormデータベースの設定
共通のフィールド
同様の舞台裏には、フロントデスク、静的リソースファイルリソース割り当て静的を公開します
フロントアクセス
2.APIViewリクエストのライフサイクル
3.要求分析モジュール
ディスパッチ処理1. DRF無効にCSRFの認証ルール
2.カスタマイズデータフォーマット構成要求DRF
3.下位互換性
4.レスポンスのレンダリングモジュール
2つのフォーマットでデータをレンダリング:データのレンダリングやブラウザのレンダリング(restframework表示に設定ファイル)
説明:ブラウザコメントアウトしてからのみ、双方向データをレンダリングする形式のデータをJSON取得することができ、ブラウザを選択してください
シーケンシングモジュール
1.配列モジュールの導入
2.
##### models.py から django.db インポートモデル から django.conf インポート設定 クラス:ユーザー(models.Model) SEX_CHOICES =((0、' 男')、(1、' 女' )) 名 =モデル.CharField(MAX_LENGTH = 64、verbose_name = ' 姓名' ) パスワード = models.CharField(max_lengthを= 64 ) 年齢 = models.IntegerField() 高さ = models.DecimalField(max_digits = 5、decimal_places = 2、デフォルト= 0) のセックスModels.IntegerField =(= SEX_CHOICES選択肢、デフォルト= 0) #のセックス= models.CharField(選択肢= [( '0'、 'M')、( '1'、 'F')]) アイコンmodels.ImageField =( = upload_to 「アイコン」、デフォルト= 「アイコン/ Default.png 」) #1 の前方にフィールドカスタムシリアル化 #の利点:1)元のデータベースのデータをフォーマットすることができるフィールド2)は元のフィールド名データベースの外部に隠すことができる3 )を直接手術台に接続することができる @Property #すべてのフィールドはプラグである DEF 性別(自己): 戻りself.get_sex_display() @Property DEF IMG(SELF): リターン settings.BASE_URL settings.MEDIA_URL + + self.icon.name DEF __str__ (自己): 戻りself.name ` コアの#### serializers.py配列 から rest_framework インポートシリアライザ から。インポートモデル クラスUserModelSerializer(serializers.ModelSerializer): クラスメタ: #配列は、そのクラスに二次的ですモデルクラス モデル= models.User #1 デシリアライゼーション・フィールドに関与している配列のセット #プラガブル:フィールドは、選択的に(プラグがモデルクラスで製造される)前面に戻すことができる 。#の年齢= [「名前」、」フィールド''高さ''性別''アイコン] フィールド= [ ' 名前'、' 年齢'、' 高さ'、' 性別'、' IMG ' ] `` ` #### views.py から rest_framework.viewsの輸入APIView から rest_framework.responseの輸入レスポンス から。輸入モデル、シリアライザ クラスUserAPIView(APIView): デフ(自己、要求、* argsを、**取得kwargsから): PK = kwargs.get(' PK ' ) の場合:PK #单查 #1)データベースと対話するリソースを取得するか、OBJS OBJリソース #フロントJSONデータに戻すことができるデータのシーケンスに2) #受信データにJSON戻される)3 OBJ = models.User.objects.get(PK = PK) シリアライザ =シリアライザ.UserModelSerializer(OBJは、多くの= False)が 返さ応答(serializer.data) 他: #のクラスタチェック #リソースを取得したり、OBJS OBJ資源にデータベースと対話し、1) #フォアグラウンドのJSONのデータへのデータ系列に戻すことができる)2 #3) JSONデータは、前面に戻される クエリセット= models.User.objects.all() #データが動作多くの複数であるか否かを シリアライザ= serializers.UserModelSerializer(クエリセット、多く= 真) 戻り応答(serializer.data) DEF POST(自己、リクエスト、引数*、** kwargsから): #ネス #1)が提出した要求からのデータ受信要求取得するために #Modelオブジェクトにデータを変換する2)、および完全なデータベースのストレージ操作 #3)列のJSONデータの受信に返されるオブジェクトの成功ストレージ(ない要求と応答などのデータ:送信要求がパスワードを要求、パスワードの応答が表示されてはならない) #4)のデータは、フロントJSONに戻りました