うまく、ハードではないソースコードを見て直接使用のメカニズムを理解していない、理解することができるように
ビューの家族
1.表示:(ネイティブジャンゴ)を完了するための要求に応じてマッピングクラスのビューへの要求に同じ方法で、
from django.views import View
2. APIView(rest_framework)
from rest_framework.views import View
- 継承ビューは、ビューのすべての機能を備えています
- 書き換えas_views無効にCSRFの認定
- 書き換え派遣:三の大認定を解決するための要求にレンダリング異常応答
- 多クラス属性の束は、部分ビュークラスを達成することができます
3. GenricAPIView
from rest_framework.generics import GenericAPIView
- 継承すべての機能APIView
- 方法3:GET_OBJECT()get_queryset()get_serializer()
- 3つのプロパティ:クエリセットserializer_class lookup_urk_kwarg
4.ミックスインパッケージ:
from rest_framework import mixins
from rest_framework.mixins import CreateModelMixin,UpdateModelMixin,RetrieveModelMixin,ListModelMixin,DestroyModelMixin
- 五大工具类:RetrieveModelMixin、ListModelMixin、CreateModelMixin、UpdateModelMixin、DestroyModelMixin
- シックス・ユーティリティメソッド:、検索リスト、作成、更新、partial_update、破壊
5. generics包
from rest_framework import generics
- 基本クラスビューGenericAPIViewとの組み合わせでのツールのミックスインパイル
6. ModelViewSet
ビューの設定は、すべてのクラスとミックスインのすべてのメソッドを継承しGenericAPIView
使用します。
#在view.py中 from rest_framework.viewsets import ModelViewSet class CarAPIView(ModelViewSet): queryset = models.car.objects.all() serializer_class = Serializers.CarSerializer #在urls.py中(这里的car只是用来做例子) urlpatterns = [ #以什么方式请求,就要在字典中,写上请求方式和请求的函数 url(r'^car/$',views.CarAPIView.as_view({'get':'list','post':'create'})), url(r'^car/(?P<pk>\d+)',views.CarAPIView.as_view({'get':'retrieve','put':'update','patch':'partial_update'})) ]