- ブログ
- Django(ジャンゴ)とは?Python フレームワークについて解説!
Django(ジャンゴ)とは?Python フレームワークについて解説!
「Djangoは便利だって聞くけど、そもそもDjangoって何?」と考えている方も多いはず。
Djangoとは、Pythonにおけるフレームワークであり、WEBアプリケーションの開発現場で広く利用されております。本記事では、Djangoについて疑問に思っている方へ、概要から特徴まで分かりやすく解説していきます。
Django(ジャンゴ)とは
Djangoは、エイドリアン・ホロバティ氏、サイモン・ウィリソン氏によって開発されたPythonフレームワークです。2005年にリリースされ、それ以降WEBアプリケーションなどの現場で広く利用され、非常に高い人気を集めています。
Pythonとは
Pythonは、1991年にグイド・ヴァン・ロッサム氏が開発したプログラミング言語です。
特徴は大きく2つあり、ひとつめは、少ないコードで簡潔にプログラムを書くことができるという点です。読みやすさや書きやすさを重視して開発された言語であり、誰が書いても似たコードになるという点も利点の一つです。言語によってはプログラマー個々のクセや特徴がでてしまい、全体を見た時にコードの読解に時間がかかってしまうということがあります。しかしながら、Pythonのコードはそのようなクセが出にくく、複数人で開発することの多い現場では非常に有益です。
また、もうひとつの特徴として、膨大なデータを迅速に処理できるという利点を持っています。
現在、世界的に見ても人工知能や機械学習の需要が伸びており、そこで再注目されたのがPythonです。人工知能や機械学習では、通常のアプリケーションと比較しても取り扱うデータ量は多くなります。データ処理が得意なPythonはこうした分野においてとても適しているのです。
そんなPythonですが、「bottle」「Flask」「Tornado」「Plone」など、多くのフレームワークがリリースされています。その中でも最も人気が高いフレームワークが「Django」です。Djangoは、Pythonのフレームワークの中でも、機能が豊富でありWEBアプリケーション開発で必要な機能を一通り利用することができます。
フレームワークとは、開発を行う際によく利用される機能をまとめたものを意味し、一から開発する必要なく、効率的に作業を進めることがでできるものです。フレームワークはWEBアプリケーション開発だけではなく、スマートフォンアプリなどの開発にも利用されています。
フレームワークについては、下記の記事でも紹介しております。
「スマホアプリ開発におけるフレームワークのおすすめをご紹介!」
Djangoでできること
Djangoは、数多くあるPythonのフレームワークの中でも、Webアプリケーションフレームワークとして、汎用性が高く定番として人気の高いフレームワークです。
そのため、WEBアプリケーションやWEBサイトなどで利用されることも多いのですが、豊富な機能から管理システムやソーシャルネットワーク、科学技術計算など幅広い用途で利用されています。
また、世界的にも利用率が高く、誰もが一度は利用したことがある有名なアプリもDjangoで開発されています。
youtube
Spotify
Dropbox
公式のドキュメントが充実しており、参考になる情報も多く広まっているため、初心者の方でも簡単にWEBアプリケーションを作成できるのも大きな魅力の一つです。
Djangoの特徴
続いて、Djangoの特徴について4つ解説していきます。
MTV(モデル・テンプレート・ビュー)の採用
Djangoは、MTV(モデル・テンプレート・ビュー)を採用しています。MTV(モデル・テンプレート・ビュー)とは、「MTVモデル(Model Template View)」という概念を使ったフレームワークを意味します。
データをどのように保管するかの役割「Model」
ロジックを担当する部分です。データベースとのやりとりをしたり、データの登録・更新・削除の処理を行います。
Web上の見た目をつくる役割「Template」
アプリの画面など実際にユーザーが見る画面にあたります。リクエストデータをViewに送ったり、Controllerからのデータを受け取って画面に表示します。
情報を処理してどのような情報を見せるか決定する役割「View」
ModelとTemplateの制御を担当する部分です。Modelにデータ処理の指示をしたり、Templateに画面の表示について指示を出します。
上記の様に、それぞれ役割をもたせたプログラムを3つに分けて設計していく方式であり、「Modelだけ」「Viewだけ」など個別に対応することができます。そのため、複数人で分業作業がしやすく、個々の役割分担を明確にすることができます。
再利用可能なアプリケーションの作成
Djangoでは、再利用可能なアプリケーションの作成が簡単に行えます。
また、このアプリケーションを共有・利用することもできるようになっており、複数のプロジェクトで同じ機能を実装する必要がなくなり、開発者はより高速にアプリケーションを開発することができます。
管理サイトの自動生成
Djangoには、管理サイトの自動生成機能があります。
Djangoに搭載されている組み込みアプリを有効化にし、アプリケーションを作成すると自動的に管理サイトが生成されます。また管理サイトには、基本機能としてデータを編集、追加、削除するための機能が搭載されており、非常に便利なものとなっております。
ORM (Object-Relational Mapping)の提供
Djangoでは、ORM (Object-Relational Mapping)が提供されています。
ORMとは「オブジェクト関係マッピング」の頭文字を意味し、オブジェクト指向言語から使える「仮想」オブジェクトデータベースを構築する手法のことを言います。
これにより、Djangoではデータベースとのやりとりを行う際に、SQLを直接記述する必要がなくなります。そのため、より抽象的なレベルでデータベースを扱うことができ、開発者はより効率的に開発を進めることができます。
DjangoでWEBアプリケーションを開発しよう
本記事では、Djangoの概要や特徴について解説してきました。
DjangoはWEBアプリケーションを作成できる汎用性の高いフレームワークです。また、豊富な機能が搭載されており、少ないコードの記述で高品質なアプリを簡単に作れるのも特徴の一つです。
WEBアプリケーションの開発を検討しているのであれば、一度Djangoを選択肢にいれてみてはいかがでしょうか?