入門
Djangoの残りのフレームワークを使用する前に、まずあなたが使用することができ、それが何であるかを知っている必要がありますか?
DjangoのRESTフレームワークは、Web API機能パッケージを構築するための強力かつ柔軟なツールです:公式のことわざを引用しました。
なぜ残りのフレームワークを使うのか?
DjangoのRESTフレームワークは、すぐにDjangoのAPIに基づいて実装することができ、また、自分のWEBテストページで、あなたは簡単に自分のAPIをテストすることができます。
Webアプリケーションモデル
我々は開発プロジェクトをDjangoの際に接触することが多い、この事をインタフェースし、ジャンゴ・Web開発インターフェイスは何ですか?フロントとリアエンドのWeb開発モデルを初めて目「としないDjangoの分離の前と後に分離」、私は開発モデルジャンゴCSDNシンプルな物語に関する記事を掲載しました。
全体的には次のようになります。
2つの方法でWebアプリケーションモード:
1.前端と後端が分離されていません
参照モデルは、前者の後端から分離されていない、効果のフロントページは、後端部によって制御、又は後端部でレンダリングリダイレクトページ、フロントエンドの表示を制御する必要がある後端部、前端部およびカップリングの後端が非常にされる参照高い、この純粋なWebアプリケーションのためのより適切なモデルが、APPをドッキングするバックエンドは、アプリケーションはバックエンドのリターンを必要としないかもしれない時にHTMLページ、そして第二に、単にデータ自体、バックエンドのWebフロントエンドのインターフェイスは、APPが適用されない元のアプリケーションに戻りますので、再ドッキングAPPのHiであるためには、バックエンドインターフェイスを開発しています。
あなたがDjangoはあなたが知っているブログの前に、私はあなたが戻るたびにレンダリングするか、リダイレクトを使用しているリターンに、これを書いて見ることができる、あなたはHTMLページとパラメータを配置する必要があります
分離の2前端
以前のアプリケーションモードの後端部を分離し、リターンデータの後端部の先端がどのような影響を確認するために、何のレンダリングHTMLページ、フロントエンドの制御なし効果、限りユーザーとしてフロントエンドを必要とせず、負荷にどのようにの後端から前端にデータを要求しますWebページは、独自のアプローチを持って、独自の判断により、フロントエンドは、APP APPは扱っていますが、フロントエンドのデータが必要なものをどんなにのみバックエンドのロジックを開発するために、基本的に同じであるに、外部データを提供することができます別前面およびアプリケーションモードの後端部は、前部と結合度の後端部は比較的低いです
以前のアプリケーションモードの後端部を分離、我々は、典型的には、CRUDデータ・アクセス・インタフェースの先端部に、バックエンドインターフェース、またはAPIになるように各ビューのために開発します
プロジェクトのニーズが後者である場合は、Djangoの残りのフレームワークを使用することができます。
:公式の情報を参照することができます興味がhttps://www.django-rest-framework.org/、相手が英語を読むことができない場合は、中国の文書の残りの部分を参照することができます。http://www.iamnancy.top/djangorestframework/ホーム/
DjangoのREST Frameworkプロジェクト
次のように選択1. pycharmエディタ、新しいプロジェクト、:
ここでは、仮想環境は読んでいない場合、あなたは私が以前に書いたものを参照することができ、django_restある仮想環境の記事を。
以下のように構築されたプロジェクト構造の後2:
作成した仮想環境でDjangoのRESTフレームワークをインストールします。
開発段階
環境とすでにインストール済みのパッケージの上に、現在開発を開始。
1.まず、構成設定ファイルは、rest_frameworkアプリケーションを追加します。
2.グローバル設定、ページング、およびAPIの使用権の問題は、管理者を指定します。
#設定許可ポリシー: REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES':[ 'rest_framework.permissions.IsAdminUser' ]、 'PAGE_SIZE':10 }
3.データ移行
4.管理者アカウントを作成します。
主に、表示データに、データのシリアル化を作成します。5.:
以下のアプリケーションの新serializers.py APIファイル
コード:
django.contrib.auth.modelsからユーザー、グループをインポート rest_frameworkインポートシリアライザから :クラスUserSerializer(serializers.HyperlinkedModelSerializer) クラスのMeta: モデル=ユーザー フィールド=( 'URL'、 'ユーザ名'、 'メール'、 'グループ') クラスGroupSerializer(serializers.HyperlinkedModelSerializer): クラスのMeta: モデル=グループ フィールド=( 'URL'、 '名前')
説明:シリアライザは、このようなリターン、どのような形式、ジャンゴ独自のユーザーとグループのシーケンスをフィールドユーザー定義のAPIの形。
6.ビュー機能を作成します。
グループからのユーザーdjango.contrib.auth.modelsインポート rest_frameworkインポートビューセットからの tutorial.quickstart.serializersインポートUserSerializer、GroupSerializerから クラスUserViewSet(viewsets.ModelViewSet): 「」「 表示または編集パスAPIにユーザーを可能にする。」 「」 クエリセットUser.objects.all =()ORDER_BY( ' - date_joined')。 serializer_class = UserSerializer クラスGroupViewSet(viewsets.ModelViewSet): "" "API グループビューまたは編集パスを許可する" "" クエリセットGroup.objects.all =( ) serializer_class = GroupSerializer
7. django_restAPIディレクトリurl.pyは、構成をルーティングAPIを追加しました:
含む、からインポートdjango.conf.urls URL rest_frameworkインポートルータから tutorial.quickstartインポートからは、ビュー ルータrouters.DefaultRouter =() router.register(r'users」、views.UserViewSet) 、router.register(R '基を見解.GroupViewSet) #は、私たちのAPIへの接続をルーティング自動URLを使用しています。 #また、我々はまた、ログインURLのAPIにブラウザをサポートしています。 = urlpatterns [ URL(R&LT '^')(router.urlsを含む)、 URL(R&LT 'API-AUTH ^ /'( 'rest_framework.urls'、ネームスペース= 'rest_framework')を含みます) ]
8.すべてのこのようなものが終了している、と我々はのrunserverコマンドを実行します。
403インターフェースが戻ってきた、何の権威を示唆していない、我々はしようとするのに約上陸しました:
2つの戻りのURL、ユーザグループを追加し、ユーザーが追加されます。一部の人々は疑問を持っていることが、なぜ2?フロントはデータをシリアライズする際、データは書き込みの二つの形式を示しているので、我々はコメントを持っているし、次に実行しよう:
表示インタフェース:
ユーザーを追加するためのリンクをクリックして、ユーザーを追加
表示これは、ユーザグループとユーザの形式のインタフェースを介して、我々はバックグラウンドで看板を見ることができますされています。
だから、残りは運転して表示データ・ページの形でデータベース、管理者および管理背景の形で動作するようにインターフェイスを調整するために、私たちにAPIを提示しています。
ステータスが赤の十字である理由時間のシーケンスはステータスフィールドを示さなかった、そして今、私はそれを出しますので、注意深い人は、見つけることができます:
そして、ビューにユーザーを追加した後、プログラムを実行します。
バックエンドの管理ページに表示します:
それは開いていない、と学生が心配していない場合は、データベースを見て行くことができます:
これは、django_rest_framework入門チュートリアルは、デザインパターンとも良いアイデアですについて学ぶためにDjangoの初心者の学習に使用したかどうか、かどうかに関係なく、将来の開発のAPIの、終了しました。
696 400 122、短いステップ、千マイル:あなたは、関連する技術パートナーPythonのテスト開発に興味がある場合は、テスト開発の歓迎は、研究と交流QQグループに参加します。