メインコンテンツまでスキップ

Django / FastAPI

DjangoとFastAPIは、PythonでWebアプリやAPIを作るためのフレームワークです。Djangoは機能がそろったWebアプリ向け、FastAPIは高速で書きやすいAPI開発向けです。

何ができる?

  • PythonでWebアプリを作る
  • APIサーバーを作る
  • データベースと連携する
  • 管理画面を作る
  • AIやデータ分析の結果をアプリに組み込む

DjangoとFastAPIの違い

技術向いていること
Django管理画面、ログイン、データベース付きWebアプリ
FastAPIAPI、AI連携、マイクロサービス

Djangoは「全部入りのWebアプリ土台」、FastAPIは「APIを速く作る土台」と考えると分かりやすいです。

学習前に知っておきたいこと

  • Pythonの基本文法
  • 関数と辞書
  • SQLの基本
  • HTTPとJSONの基本

Djangoの特徴

機能役割
Modelデータベースの形を定義する
Viewリクエストを受けて処理する
TemplateHTMLを表示する
Admin管理画面
ORMPythonからDBを扱う

Djangoは、管理画面が強力なので、データを登録・編集するアプリを作りやすいです。

FastAPIの基本形

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
return {"message": "Hello FastAPI"}

Pythonの型ヒントを活かして、APIの入力や出力を分かりやすく書けます。

よく使う関連技術

技術役割
SQLAlchemyDB操作
Pydanticデータ検証
PostgreSQLデータ保存
UvicornFastAPIを動かす
Django REST FrameworkDjangoでAPIを作る

ミニ演習: JSONを返すAPI

from fastapi import FastAPI

app = FastAPI()

@app.get("/api/profile")
def profile():
return {
"name": "Code Recipe",
"skill": "Python API"
}

ブラウザやAPIクライアントで /api/profile を開いて、JSONが返るか確認してみましょう。

よくあるつまずき

困ったこと原因の例確認すること
サーバーが起動しないコマンドやパス違い実行場所
importエラーパッケージ不足仮想環境とpip
DB接続できないURLや設定違い.env やsettings
APIの型エラー入力データが違うPydanticモデル
Djangoのファイルが多い役割を把握していないModel/View/Template

チェックリスト

  • DjangoとFastAPIの違いを説明できる
  • FastAPIでJSONを返すAPIを読める
  • DjangoのModel/View/Templateを説明できる
  • APIとWebアプリの違いを説明できる
  • PythonとSQLを組み合わせる理由を説明できる

次に学ぶこと

Webアプリを作りたいならDjango、ReactやAIアプリの裏側を作りたいならFastAPIがおすすめです。どちらもSQLと認証を学ぶと実用的になります。