0
0

More than 1 year has passed since last update.

DjangoでWeb APIを公開してみる

Last updated at Posted at 2022-08-29
1 / 2

背景

DjangoでWeb APIをさくっと作成する情報はたくさんあるが、
実運用に向きな記事が見つからなかったので作成する。

環境

Django 2.0.2
Python 3.6.1

Webフレームワーク

Django:今回はこれを使う。フルスタックフレームワーク
Flask:マイクロフレームワーク。最低限の機能。~中規模までのWebアプリに向いている。
Bottle:マイクロフレームワーク。軽量で小規模なアプリに向いている
Tornado:非同期系フレームワーク。非同期Webサーバーの側面がある。
これら以外にもたくさんある。

フレームワーク Django Flask
分類 フルスタック マイクロ
用途 がっちり作りたい ちょこっと使いたい
メリット 色々入っててうれしい 軽量
デメリット 少し設計知識が必要 色々したければ自分で追加していく必要がある
利用されてるサービス YouTube,Instagram Netflix

Django REST Framework

今回は、Django REST Frameworkを使ってAPIを作る方法を紹介。

REST(レスト)とはWebサービスの設計モデルのこと。

ここでいう設計モデルとはDjangoのMTV(Model・Template・View)のように、
システムに共通する設計のことをいう。

・同じURLからは常に同じ内容のレスポンスが返ってくる。
・クライアントのマシンの状態やブラウザのセッションに依存しない。

これらの項目をはじめとする原則を満たしているサービスを、RESTfulなサービスと呼びます。

Djangoの機能

Webアプリケーションでよく使われる機能

  • 認証: 概要 | 認証システムを使う | パスワード管理 | 認証の処理を自作する | API リファレンス
  • キャッシュシステム
  • ログ出力
  • メール送信
  • 配信フィード (RSS/Atom)
  • ページ分割表示
  • メッセージフレームワーク
  • データのシリアライズ
  • セッション
  • サイトマップ
  • 静的ファイル管理
  • データバリデーション

その他便利な機能

  • 条件付きコンテンツ処理
  • コンテンツタイプと汎用リレーション
  • flatpages: フラットページコンテンツの管理
  • リクエストのリダイレクト
  • イベントのシグナル
  • システムチェックフレームワーク
  • サイトフレームワーク
  • Django での Unicode の扱い方
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0