パーザー
1つの分類
rest_framework.parsersはインポート JSONParser、FormParser、FileUploadParser、MultiPartParser
、JSONParser
JSONデータ型を解析
B、FormParser
データ・タイプでurlencodeの解析
C、MultiPartParser
分析データ・タイプフォームデータ
D、FileUploadParser
アップロードされたファイルを解析
2、デフォルトのパーサ
DEFAULT_PARSER_CLASSES ' :[ ' rest_framework.parsers.JSONParser ' ' rest_framework.parsers.FormParser ' ' rest_framework.parsers.MultiPartParser " ]
3、parser_classesを書き換えます
ビュークラスに追加します。
parser_classes = [JSONParser]
二、URLコントロール
1、原因
上院含むrestframeworkビューコンポーネントは、as_viewを通じて解決()、二つの問題を取得し、ビューの同じ種類を達成するために、しかし、2つのURLが残っています
2、ソリューション
、元
経路(' 作者/ '、views.AuthorViewSet.as_view({ ' 入手':' リスト'、' 後':' 作成' }))、 パス(' 著者/ <PK> / '、views.AuthorViewSet.as_view( { ' 取得':' 検索'、' 置く':' 更新'、' 削除':"破壊" }))、
B、最適化
rest_framework 輸入ルータの ルータ = routers.DefaultRouter() router.register(' 作者'、views.AuthorViewSet)
二次配布
パス('' 、(router.urls)を含みます)、
3、パス
^作者/ $ [名= ' 著者リスト' ] ^著者\。(?P <フォーマット> [-Z0-9] +)/?$ [名= ' 著者リスト' ] ^著者/(?P <PK> [^ /] +)/ $ [名= ' 著者-詳細' ] ^著者/(?P <PK> [^ /] +)\。(?P <フォーマット> [-z0- 9] +)/?$ [名= ' 著者-詳細' ]
サプリメント
、?形式= JSON
http://127.0.0.1:8000/author/?format=json
役割:データのJSON形式を取得するために、他の装飾
B、.json
http://127.0.0.1:8000/author.json
役割:すべてのJSONデータを取得します。
http://127.0.0.1:8000/author/6.json
役割:JSONデータのPKを取得します。