最後の2019年3月19日夜04時55時ファン遠によって編集され、このポスト
の増加負荷オプションDjagno RESTフレームワークモジュール
INSTALLED_APPS settings.pyファイルが上昇する「rest_framework」アドオンのために。:REST APIは、サービスを呼び出す生成するには、このフレームワークを使用するには、次の3つのモジュールを達成する必要があり
シリアライザ:シリアライズ(またはデシリアライズ)する方法を決定するモデルエンティティ
ビューセット:シリアル化エンティティにどのモデルを決定し
、対応するためのURLを解決する方法を決定:URLパターンをサービス
に必要なコードの量は、最も基本的なサービスのAPIと、ああの多くを達成するためのようだが、このモジュール分割後、実際には多くの明確な枠組みプログラムとなり、より堅牢なスケーラビリティを持っています。
シリアライザが達成
新しいファイルのブログ/ serializer.pyを、次の通り:
#コーディング:UTF-8。
rest_frameworkインポートシリアライザからの
ユーザーが、エントリのインポートを.modelsから
クラスUserSerializer(serializers.ModelSerializer):
クラスメタ- :
モデル=ユーザー
フィールド=(「名前''メール「)
クラスEntrySerializer(serializers.ModelSerializer):
クラスメタ- :
モデルは、エントリ=
フィールドを=(「タイトル」、「体」、「のcreated_at」、「ステータス」、「著者」)
上記のシリアライザ最も簡単なコードの定義である、モデルはフィールドが順序を指定し、対応するモデルのエンティティを指定データフィールドの(データベーステーブルの列とみなします)。
これは、外部キー、デフォルト出力対応モデルエンティティ(ユーザー)の結果のシーケンスとして、EntrySerializerことを著者言及する価値があります。もちろん、我々は、実装のシーケンスを変更することができます。
ビューセットは達成
次のように、新しいファイルのブログ/ views.pyを:
#がコーディング:UTF 8
インポートdjango_filters
rest_frameworkインポートビューセットから、フィルタ
ユーザーはインポート、エントリ.modelsから
インポートUserSerializer、EntrySerializer .serializerから
クラスUserViewSet(viewsets.ModelViewSetを):
= User.objects.allクエリセット()
serializer_class = UserSerializer
クラスEntryViewSet(ビューセット。
クエリセット= Entry.objects.all()
serializer_class = EntrySerializer
实现URLパターン
修改django_rest_framework_test / urls.py、内容如下:
#のコード:UTF-8
django.conf.urlsからは、URLをインポート含ま
django.contribインポート管理者からの
ブログから。 blog_routerとしてのURLインポートルータ
urlpatterns = [
URL(R '^管理/'、admin.site.urls)、
する含んを#1 blog.urls
URL(R 'を^ API /'、(blog_router.urls)を含む)
]
新建一个文件ブログ/ urls.py、内容如下:
#コード:UTF-8
rest_frameworkインポートルータから
.viewsからインポートUserViewSet、EntryViewSet
ルータ= routers.DefaultRouter()
router.register(r'users'、UserViewSet)
router.register(r'entries'、EntryViewSet)は
このURL定義されたパターンは、/ API / REST APIは、当社のサービスへの入り口完了する
ます。https://blog.csdn.net/gg_18826075157/article/details/72869974からの記事
すぐにAPI呼び出しサービスを実装するためにDRFの使用
おすすめ
転載: www.cnblogs.com/abdm-989/p/12003492.html
おすすめ
ランキング