• home
  • ブログ
  • Django(ジャンゴ)とは?Python フレームワークについて解説!
  • 用語集

23.03.14

  • twitter
  • facebook

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

Instagram

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を選択肢にいれてみてはいかがでしょうか?