PyCon JP 2026

異なる設計思想のフレームワークを経験して得た学び(Laravel開発からDjango開発へ)

Pythonはデータ分析、AI・機械学習だけでなく、Webアプリケーション開発の分野でも広く利用されています。私自身、PHP+Laravelを用いた開発からPython+Djangoを用いたAPI開発へ携わるようになりました。

同じWebアプリケーション開発でありながら、DjangoにはLaravelとは異なる設計思想があり、appという単位での構成、マイグレーション管理、文字列フィールドにおけるNULLと空文字の扱い、標準で提供される管理画面など、多くの場面で戸惑いを感じました。

本発表では、元Laravel開発者の視点からDjango開発で直面した具体的なつまづきポイントを紹介するとともに、それぞれの違いの背景にある設計思想について考察します。

これからDjangoを学ぶ方はもちろん、他言語・他フレームワークを利用している方にとっても、普段当たり前に使っている技術を別の視点から見つめ直すきっかけとなれば嬉しいです。

予定トーク構成
1 はじめに

  • 自己紹介

2 LaravelからDjango開発へ移った際に設計思想の違いに戸惑ったポイント

  • パッケージ(app)という設計思想
    Laravelの構成とDjangoのパッケージ毎の構成
  • パッケージのマイグレーションの扱い
    Laravelは全体管理でDjangoはapp単位
  • 文字列の値なしの取り扱い(空文字とNULLの扱い)
    LaravelのnullableとDjangoの文字列フィールド
  • 管理画面の存在
    Laravelは自前で作成でDjangoは最初から存在

3 まとめ

  • LaravelからDjangoを用いるようになったことの感想
  • 全く違う思想のフレームワークを用いたことによる考えの変化

Tell us about your own experience with this topic

転職を機に、PHPのLaravelを用いた開発からPythonのDjango(+Django Ninja)を用いたAPI開発に携わるようになりました。Laravel開発は前職で3年ほどチームでのAPI開発に携わり、現職はフロントエンド開発が中心でしたが最近はDjangoを用いたAPI開発にも少しずつ携わるようになりました。本格的にDjangoを触り始めてからはまだ1年経っていませんが、チーム開発の中で継続的に利用しています。

Djangoを用いた開発を始めた頃は、同じWebアプリケーションのAPI開発でありながら、Laravelとは異なる考え方や慣習に戸惑いを感じることがありました。
調べていく中で、appごとに管理されるマイグレーション、空文字列とNULLの扱いの違いなど、Laravelの感覚で進めると想定外の挙動や設計上の違いを感じる場面が多くありました。

現在もDjangoを用いた開発を継続しており、LaravelとDjangoの両方を業務で経験した立場から、それぞれの設計思想の違いによって生じた学びや気づきを共有したいと考えています。

What discussions can you have with attendees through this talk?

本発表では、LaravelからDjangoの開発を行うことで直面した具体的なつまづきと気づきを取り上げます。発表後のQ&Aや懇親会では、「他のフレームワークや言語からDjangoへ移行した際にどのような点で違和感を覚えたか」といった経験談を参加者の皆さんからも伺えればと思っています。

また、今回取り上げる内容について、「実際の現場ではどのように運用しているか」「チームとしてどのような判断をしているか」といった実践的な話や、各言語・フレームワークにはそれぞれ独自の概念や設計思想がある中で「Djangoらしい書き方とは何か」「フレームワークごとの設計思想はどのように生まれているのか」を一緒に深掘りできれば嬉しいです。

これからDjangoを学ぶ方にも、「普段使っているフレームワークのやり方が必ずしも唯一の正解ではなく、言語やフレームワークごとに異なる設計思想や考え方が存在する」ということを感じてもらえればと思っています。
正解を決める場ではなく、それぞれの現場や経験から得た実践知を持ち寄りながら、気軽に意見交換できる場にしたいと考えています。

The speaker's profile picture
あめちゃん

株式会社iimonでエンジニアをしております。
最近Djangoを用いた開発に携わりました。