restframeworkパーサ、URL制御アセンブリ

パーザー

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を取得します。

 

おすすめ

転載: www.cnblogs.com/wt7018/p/11470609.html
おすすめ