この記事では
Python製のWebフレームワーク「Django(ジャンゴ)」について
その特徴やメリット、デメリットをわかりやすくご紹介します!
- PythonでWebサービスを作りたい!
- どのフレームワークを使えばいいかわからない・・・
といった方はぜひご参考ください!
またpythonやpythonの勉強法については、こちらをご参考ください!
Django(ジャンゴ)とは何か?特徴をご紹介!
まずは「 Djangoの特徴 」をご紹介します!
Django(ジャンゴ)はPythonのWebフレームワーク

ご存知の方もいると思いますが
DjangoはPython製のWebフレームワークです!

Webフレームワーク??
そもそも「Webフレームワーク」とは、一言で言うと
「Webサービスを作るための機能を詰め合わせたパック」みたいなものです。
Webフレームワークを使えば
「フレームワーク(枠組み)」がすでに出来ているところから
プログラムを作っていけばいいので、書くコードの量が少なくなり
手軽にWebサービスを作ることができます!
つまりDjangoを使えば、
Pythonを使ったWebサービスを手軽に実装できるようになります!
Djangoで作られているウェブサービス

では実際にDjangoで作られているWebサービスをご紹介します!
Instagram(インスタグラム)
最初にご紹介するのは、Instagram(インスタグラム)です。
Instagramは日本人のほとんどの方が使っているSNSですが
実はこのサービスにもDjangoが使用されています!
Pinterest(ピンテレスト)
次にご紹介するのは、Pinterest(ピンテレスト)です。
このサービスはご存知でない方もいるかもしれませんが、
Webサイト上の画像・動画を簡単にクリップしたり、共有できるサービスです!
PinterestはInstagramと同様にDjangoで開発されたことで有名なサービスです!
Udemy(ユーデミー)
最後にご紹介するのは、Udemy(ユーデミー)です。
Udemyは全世界で4000万人の受講生を持つオンライン教育のプラットフォームで
もしかしたら、この記事を読んでいる皆さんの中にも
すでにUdemyを使って学習されている方がいらっしゃるかもしれません。
そしてUdemyもDjangoで開発されたWebサービスです。
ちなみにDjangoで作られているUdemyですが
Djangoを学習するための講座も多数存在します!
以下がおすすめの3講座です!ぜひご参考ください!
プログラミング初心者でも安心、Python/Django入門講座
【3日でできる】Django 入門 ( Python 3 でウェブアプリを作って AWS EC2 で公開!)
【徹底的に解説!】Djangoの基礎をマスターして、3つのアプリを作ろう!
Djangoを使用する4つのメリット
次にDjangoを使用するメリットについてご紹介します!
Webアプリ開発に必要な機能が全て揃っている(フルスタック)

1つ目のメリットは
「Web開発に必要な機能が全て揃っている」です!
DjangoにはWebサービスの開発に必要な
- ユーザー認証
- 入力フォームの作成
- 開発用サーバー
などの機能が標準装備されています。
そのため他のライブラリに頼ること無く
Djangoを使うだけで様々な機能を実装することができます!

どうしてDjangoだけで実装できるのがメリットなの?
もちろん他のライブラリを使って機能を実装するのは
悪いことではありません!
しかし導入するライブラリが増えれば増えるほど
それぞれのバージョンのアップデートごとに対応する必要があり手間が増えます。
しかしDjangoでだけで機能が実装できれば
バージョンアップによるメンテナンスも手軽になるため
「Web開発に必要な機能が全て揃っている」はDjangoの大きなメリットです!
またDjangoのような「機能が全て揃っている フレームワーク 」を
フルスタックフレームワークと呼びます。
管理者(admin)ページが自動で生成される!

2つ目のメリットは
「管理者(admin)ページが自動で生成される!」です。
このメリットは1つ目のフルスタックという点にも含まれるのですが
Djangoでは、Webサービスを開発するみなさんが
サービスを管理するためのページ(管理者ページ)が自動で生成されます!
Webサービスでは通常、サービスで使用するデータを入力するために
自分で管理者ページを作る必要があります。
さらにただ入力して追加するだけでなく
- 作成
- 修正
- 削除
などの機能も必要です。

大変そう・・・
しかし上記で述べたようにDjangoでは、管理者ページが自動で生成されるため
管理者ページを作成する手間を省くことが出来る点がメリットの1つです!
セキュリティ性の高さ

3つ目のメリットはセキュリティ性の高さです。
当然ですがWebサービスは、インターネット上に公開して使用します。
そのため外部からの攻撃に対するセキュリティにも必ず注意しなければなりません。

注意するっていってもどうやってやれば・・・
ところが「これからWebサービスを開発しよう!」という方にとって
セキュリティ面は複雑な部分が多く実装が難しいかと思います。
しかしDjangoでは、セキュリティ面の実装も標準で備わっているため
開発する時に深く考える必要がありません。
そのため初心者の方でも安心して開発が進められる点がメリットの1つです!
機械学習との相性の良さ

4つ目のメリットは機械学習との相性の良さです。
Pythonといえば機械学習と呼ばれるほど、機械学習ではPythonが人気です!
その背景には
- scikit-learn
- TensorFlow
- Keras
といった機械学習用のライブラリがPythonには存在があります。
DjangoはPython製のWebフレームワークであるため
上記のような機械学習のライブラリを簡単に導入できます!
そのため機械学習との相性がよく
機械学習を導入したWebサービスの開発に適している点がメリットの1つです!
Pythonでの機械学習についてはこちらをご参考ください!
Djangoのデメリット
最後にDjangoのデメリットをご紹介します!
日本語の情報が少ない!
Djangoのデメリットはとにかく
「日本語の情報が少ない!」に尽きると思います。
特にエラーが出た際に、そのエラー出力をGoogleで検索すると
英語のページにたどり着くことが少なくありません。
「プログラミングをやるなら英語くらい読め!」と思われるかもしれませんが
やはり「わからないことをわからない言語で理解する」には時間がかかります。
そのため「日本語の情報が少ない」という点はDjangoの大きなデメリットだと思います。
数少ない貴重な日本語のDjangoの書籍
そんな日本語の情報が少ないDjangoですが
日本語で書かれた貴重な書籍が存在します。
その中でもおすすめの1冊をご紹介します!
現場で使える Django の教科書《基礎編》・《実践編》
最初にご紹介するのは「現場で使えるDjangoの教科書」です。
正直この2冊さえ読めば、Djangoの基本的な機能は全て実装できます。
ただ初学者にとっては少し難しい印象だったので
「 Pythonの基本的な文法はわかる! 」という方は
ぜひ読んでみて下さい!
もしPythonの知識に不安があるという方は
次に紹介するオンライン学習サービスがおすすめです!
Djangoが学べるおすすめのオンライン学習サービス
では最後に「Djangoが学べるおすすめのオンライン学習サービス」をご紹介します!
DjangoはPyQ(パイキュー)で勉強するのがおすすめ!
Djangoの学習におすすめのサービスはPyQ(パイキュー)です!

PyQとは月額3,040円でPythonの基礎から学習できるサービスで
もちろんDjangoによるWebサービスの実装も学ぶことができます!
実際に私はPyQでDjangoについて学び、その知識を生かして
- 自分のポートフォリオ
- 社内の簡易的な業務アプリ
などを開発しました!
またPyQではDjango以外にも
- データ解析
- 機械学習
などの内容を同時に学べるため
Pythonで機械学習を使ったWebサービスを作りたい!という方には
最適なオンライン学習サービスです!
ぜひみなさんもPyQを使ってDjangoの学習をスタートしましょう!
まとめ
今回はPythonのWebフレームワークであるDjangoについて
- Djangoの特徴
- Djangoのメリット
- Djangoのデメリット
- Djangoが学べるオンライン学習サービス
という流れでご紹介しました。
Djangoは非常に便利なWebフレームワークにも関わらず
日本語の情報が少ないなどの理由から
日本ではあまり普及していません。
しかし昨今の機械学習ブームによってPythonに注目が集まり
Djangoを扱えるエンジニアの需要も高まりつつあります!
ぜひみなさんもDjangoを使って、自分のWebサービスを作ってみましょう!
またpythonやpythonの勉強法については、こちらをご参考ください!