1. ホーム
  2. パイソン

Django REST Framework v.3 公式中国語チュートリアルインデックス

2022-03-02 18:02:07
<パス

備考 : これは、バージョン v.3+ の REST フレームワークのドキュメントです。

Django REST フレームワークは、Web API を構築するための強力で柔軟なツールキットです。
なぜRESTフレームワークを使用するのですか?
オンラインビジュアルAPI 開発者を取り込むのに有効
バリデーションポリシー をカバーしています。 OAuth1a OAuth2
を同時サポート ORM 非ORM のデータソースは シリアライズ
- 各リンクを設定することができ、不要な場合は より パワフル 特徴 を使用している 一般的なクラスベース(機能ベース)ビュー は動作します
- 豊富なドキュメント という強力な コミュニティサポート
- 大企業は モジラ イベントブライト の愛用者でもある。


トップ画像 : Visual API のスクリーンショット

構成要件

RESTフレームワークには、以下の要件があります。

  • Python (2.7、3.2、3.3、3.4、3.5)
  • Django (1.7+、1.8、1.9)

オプションのパッケージはこちらです。

  • Markdown (2.1.0+) - MarkdownはビジュアルAPIをサポートします。
  • django-filter (0.9.2+) - フィルタリングのサポート。
  • django-crispy-forms - フィルタリングのための改良されたHTMLレンダリングを提供します。
  • django-guardian (1.1.1+) - オブジェクトレベルのパーミッションのサポート。

インストール方法

環境のデプロイ

使用方法 pip フレームワークと必要なオプションの依存関係をすべてインストールするために

pip install djangorestframework
pip install markdown
pip install django-filter

...または、githubからプロジェクトをクローンしてください。

git clone [email protected]:tomchristie/django-rest-framework.git


アプリを登録する

(翻訳者注:すでにプロジェクトを作成しているものとします)
'rest_framework' をあなたの 'INSTALLED_APPS' を設定します。

INSTALLED_APPS = (
    ...
    'rest_framework',
)

(訳者注:プロジェクトを作成していない場合は、この後のチュートリアルに沿って、順を追って作成することができます)


ビジュアルAPIを使用する必要がある場合、REST Frameworkのlogin/logoutビューを追加するとよいでしょう。あなたのルートで urls.py ファイルに、以下を追加します。

urlpatterns = [
    ...
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]

URLのパスはどのように書いてもかまいませんが、必ず 'rest_framework.urls' を使用し 'rest_framework' この名前空間は Django 1.9+ ならば、名前空間を省くこともでき、REST フレームワークが自動的に設定をしてくれます。


使用例

簡単なユースケースを見てみましょう。RESTフレームワークを使用して、シンプルなmodle対応APIを構築する方法です。
プロジェクトでは、ユーザー情報を扱う読み書き可能なAPIを作成します。
どのRESTフレームワークのグローバル設定も、設定辞書(辞書、javaなど一部の言語ではマップ)と呼ばれる REST_FRAMEWORK . まず、次のようにして、あなたの settings.py モジュールに以下のように記述します。

REST_FRAMEWORK = {
    # Use Django's standard `django.contrib.auth` permission management class,
    # Or give read-only permissions to users who have not yet authenticated.
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
    ]
}

を設定したことを確認するのを忘れないでください。 rest_framework をあなたの INSTALLED_APPS の中で
これで、APIを作成する準備が整いました。これはプロジェクトのルートにあります。 urls.py モジュールを使用します。

from django.conf.urls import url, include
from django.contrib.auth.models import User
from rest_framework import routers, serializers, viewsets

# Serializers define the representation of the API.
class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ('url', 'username', 'email', 'is_staff')

# ViewSets defines the behavior of the view.
class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer

# Routers provides a simple way to automatically configure the URL.
router = routers.DefaultRouter()
router.register(r'users', UserViewSet)

# Use automatic URL routing to get our API up and running.
# In addition, we also include URLs for logging into the visual API.
urlpatterns = [
    url(r'^', include(router.urls)),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]

これで、ブラウザの http://127.0.0.1:8000/ user"セクションで、新しい'users'APIを開いてください。右上のログインコントロールを使用して、システムにユーザーを追加および削除します。


クイックスタート

待てない? クイックスタート・チュートリアル ( クイックスタート ) を使えば、RESTフレームワークを使ったAPIを最速で構築することができます。

チュートリアル

このチュートリアルでは、RESTフレームワークの使用方法について説明します。少し時間がかかりますが、このチュートリアルを読むことで、すべてがどのように組み合わされているのか全体像を理解することができますので、ぜひ読むことをお勧めします。

<テーブル チュートリアル 英語版チュートリアル 中国語チュートリアル 翻訳状況 1 シリアライズ シリアライズ 翻訳完了 2 リクエストとレスポンス リクエストとレスポンス 翻訳完了 3 クラスベースのビュー クラス別表示 翻訳完了 4 認証と権限 認証と権限 翻訳中 5 リレーションシップ & ハイパーリンクAPI リレーションシップ&ハイパーリンクAPI 翻訳される 6 ビューセット&ルーター ビューセット&ルーター 翻訳される

テストとして使用するのは、チュートリアルで完成したAPI はこちら が表示されます。

APIガイド

APIガイド: RESTフレームワークが提供するすべての機能を網羅した完全なリファレンスマニュアルです。

<テーブル 案内 英語版チュートリアル 中国語チュートリアル 翻訳状況 1 要求事項 翻訳されるもの 2 レスポンス 翻訳される 3 再生回数 翻訳される 4 一般的なビュー 翻訳される 5 ビューセット 翻訳される 6 ルーター 翻訳される 7 パーサー 翻訳されるもの 8 レンダラ 翻訳されるもの 9 シリアライザー 翻訳される 10 シリアライザーのフィールド 翻訳される 11 シリアライザー関係 翻訳される 12 バリデータ 翻訳されるもの 13 認証 翻訳される 14 アクセス権 翻訳されるもの 15 スロッ トリング 翻訳される 16 フィルタリング 翻訳されるもの 17 ページネーション 翻訳される 18 バージョン管理 翻訳される 19 コンテンツ・ネゴシエーション 翻訳されるもの 20 メタデータ 翻訳される 21 フォーマットサフィックス 翻訳される 22 URLを返す 翻訳される 23 例外事項 翻訳される 24 ステータスコード 翻訳される 25 テスト 翻訳される 26 設定 翻訳される

トピックス
RESTフレームワークの使用に関する一般的なガイドです。

  • API の文書化
  • 国際化
  • AJAX、CSRF、CORS
  • HTML & フォーム
  • ブラウザの機能強化
  • Browsable API
  • REST、ハイパーメディア、HATEOAS
  • サードパーティーリソース
  • RESTフレームワークへの貢献
  • プロジェクトマネジメント
  • 3.0発表
  • 3.1 発表
  • 3.2 発表
  • 3.3 発表
  • Kickstarterのお知らせ
  • リリースノート

開発情報

リポジトリのクローン、テストスイートの実行、REST Frameworkへの変更の反映の方法については、貢献のガイドラインを参照してください。

サポート

サポートについては、RESTフレームワークのディスカッショングループ、 irc.freenode.net の #restframework チャンネル、IRC アーカイブ、または Stack Overflow で質問を投稿してください (必ず 'django-rest-framework' タグを含めてください)。

有償サポートはDabAppsから提供されており、RESTフレームワークのコアに関する作業や、RESTフレームワークAPIの構築に関するサポートを受けることができます。商業的なサポートオプションについて議論したい場合は、DabApps をご利用ください。

RESTフレームワークの開発に関する最新情報は、著者のTwitterをフォローするのもよいでしょう。

トムクリスティーをフォロー

セキュリティ

もしあなたが、Django REST フレームワークの中にセキュリティに関係する何かを見つけたと信じるなら、その問題を公開フォーラムで提起しないでください。

問題の詳細を電子メールで [email protected] に送信してください。プロジェクトのメンテナーは、公開する前に、必要な問題を解決するためにあなたと協力します。

ライセンス

Copyright (c) 2011-2016, Tom Christie All rights reserved.

ソース形式およびバイナリ形式での再配布および使用は、変更の有無にかかわらず、以下の条件を満たす場合に限り許可されます。

ソースコードの再配布は、上記の著作権表示、この条件一覧、および以下の免責事項を保持する必要があります。また、バイナリ形式で再頒布する場合は、頒布物とともに提供される文書および/またはその他の資料において、上記の著作権表示、この条件一覧、および以下の免責事項を再掲載しなければなりません。

このソフトウェアは、著作権者および請負業者によって "現状のまま証明されており、いかなる場合においても、著作権者または請負業者は、商品性および特定目的への適合性に関する暗黙の保証を含むがこれに限らず、著作物の使用によって生じたいかなる損失または損害に対しても責任を負わないものとする、明示または黙示の保証を行います。ホルダーまたはコントリビューターは、いかなる直接的、間接的、偶発的、特別、例示的、または結果的損害(代替品またはサービスの調達、使用、データ、または利益の損失を含むが、これに限定されない)に対して責任を負うものではありません。また、本ソフトウェアの使用に起因する、契約、厳格な責任、不法行為 (過失を含む) の如何を問わず、いかなる原因、責任理論においても、たとえ損害の可能性について知らされていたとしても、ホルダーまたはコントリビューターは、いかなる直接的、間接的、偶発的、または結果的損害 (代替品の調達、使用、データまたは利益の損失、または事業の中断を含みます) について、責任を負いません。