Pythonフレームワーク、Django(ジャンゴ)とは

Django(ジャンゴ)とはPythonのWEBアプリケーションフレームワークの1つであり、昨今人気を集めているフレームワークの1つでもあります。


今回の記事を読むことで分かること

・Djangoで出来ることが分かる

・Djangoの概要が分かる

1. Djangoとは?

そもそもDjangoって何なの?と疑問をお持ちの方もいらっしゃると思いますので、本章では、Djangoとフレームワークについてざっくりと解説していきます。

Django(ジャンゴ)とは、先述したようにPythonのWEBアプリケーションフレームワークです。

Djangoを使う上でメリットだと言われている部分は、下記のとおりです。

①管理画面が自動的に生成される

②セキュリティに強い

③Pythonのライブラリを使用することが出来る

1-1. ①管理画面が自動的に生成される

別言語のフレームワークでは管理画面の作成も行わなければいけないのに対し、Djangoでは、ユーザー情報やデータベースなどを参照できる管理画面が自動的に生成されます。

もちろんデザイン部分の調整は出来ませんが、管理画面を作成する手間が省けることは開発を進める上では大きく時間短縮が出来るため、非常に大きなメリットとなります。

1-2. ②セキュリティに強い

DjangoではXSS(クロスサイトスクリプティング)やSQLインジェクションなどの悪意のある攻撃を自動的にブロックする機能が備わっているので、セキュリティ面でも安心してシステムを構築することが可能となっております。

1-3. ③Pythonのライブラリを使用することが出来る

Pythonが持つ、スクレイピングや機械学習などの最先端のライブラリを流用することが出来るので、幅広い開発を行うことが可能です。

2. その他フレームワークとの違いとは?



PythonにはDjangoの他に、FlaskやBottleなどといったフレームワークも用意されています。

本章では、その他フレームワークとの違いについて解説していきます。


Flask

FlaskはDjangoに比べて軽量的なフレームワークとなっているため、小規模・中規模開発に適したフレームワークだと言われています。


Bottle

Flaskと比較した場合でも、Bottleの方がより軽量的なフレームワークです。

ただ、軽量がゆえに機械学習や人工知能関連のライブラリが不足しており、大規模な開発には利用が難しく、個人の学習用として利用されるケースが多いです。

3. Djangoを使うメリットとデメリット

より多くのことを実現できるDjangoですが、メリットがある半面、デメリットも存在するということを念頭に置いておく必要があります。

メリットとデメリットを把握しておくことで、プロジェクトにDjangoを取り入れるのか、別のフレームワークを使用するかなどの方向性を決めることが可能です!


メリット

・管理画面が自動生成される

・セキュリティに強い

・学習コストが低い

・日本の人気も高いため、不明点を検索すれば大体解決する


デメリット

・他のフレームワークと比較した場合、軽量ではないため動作の軽さという点で劣る


その他のフレームワークと比較すると色々なことが出来る反面、動作に関しては少し重いかなと感じます。

ただ、ストップウォッチを持って計測すればようやく違いが分かるぐらいのレベルだと思うので、そこまで大きなデメリットではないかと思います。

そのデメリットを払拭できるぐらいのメリットはありますので。

4. Djangoで開発できるもの

本章では、Djangoを使って開発できるシステムや機能について解説していきたいと思います。

全てを習得しようと思うと、時間コストがかかってしまいますが、これまでPython以外のプログラムを触った経験がある方であれば、比較的短時間で習得が可能だと思います。

※プログラミング未経験の方でも、フレームワークであれば学習コストは低いので頑張りましょう!


Djangoのフレームワークはフルスタックフレームワークと言われており、基本的にはなんでも実装可能です。

具体的には下記機能が挙げられます。

①ユーザー認証機能が実装できる

②LPの作成ができる

③RSSフィードを付与することが出来る


上記はほんの一部分にしかすぎませんが、①のユーザー認証機能(新規会員登録やログイン機能)などは、Django内に機能が用意されているので、コピペするだけで簡単に実装することが可能です!

5. Djangoの学習方法



結論、自分で何か作るのが一番知識の定着が早いと思います。

ですが、そのためにも基礎的な部分をしっかりと固める必要があるため、下記にオススメの学習方法について記載させて頂きます。

5-1. ①Djangoの公式チュートリアル

言わずもがな、Djangoの公式チュートリアルで学習を進める方法です。

公式が提供しているチュートリアルなので、情報の信憑性は高く、このチュートリアルをマスターすれば完ぺきに近い状態に仕上げることが出来ます。

ただ、これはプログラミング全体に言えることですが、公式が提供しているドキュメントは難しい言葉が多く、少し敷居が高いかなと感じる部分もあります。

ですが。トライしてみるのはいいことだと思います。

5-2. ②Youtubeでの学習

テキストベースで進めるより、動画ベースで進める方が理解しやすいと考える方も多いと思います。

下記にオススメのYoutube動画を記載します。

①【Django入門】自作で簡単なブログを作ってDjangoの1歩を踏み出してみよう ~Djangoチュートリアル~

https://www.youtube.com/watch?v=O037g3NOoXY


上記動画、私も拝見しましたが、単純にソースコードを書いて解説するのではなく、図解+図の中に手書きで説明、しながら解説している動画になるので、Djangoの全体像をイメージがしやすいと思います。

ただ、全体的に表面上だけ解説しているような動画になるので、これを見たからDjangoをマスター!というよりかは、Djangoを触り始めた方の入り口として最適な印象を受けました。

②Pythonでウェブサービスを作ろう! 初心者向けdjangoチュートリアル #1

https://www.youtube.com/watch?v=nS41IkL13QE


①を見終わった方は、こちらのチュートリアルを順番にこなしていくとより知識が定着するのではないかと思います。

シリーズものになっているので、その分時間はかかりますが、一つ一つを細かく解説しているのでオススメです。

Djangoの基礎に加えて、本番環境の公開部分(WEBアプリを世の中に公開する)まで解説されているため、本チュートリアルを活用すればオリジナルアプリの公開を行うことが可能です。

※一部有料部分あり

6. まとめ



今回の記事では、PythonのWEBアプリケーションフレームワークのDjangoについての概要などについて解説しました。

Djangoには、デメリットもありますが先述したようにデメリットを払拭できるほどのメリットが多く存在するので、これからPythonを学習しようと思っている方や、初心者の方に是非チャレンジしてほしいフレームワークです!

環境構築や実際のソースコードなどは記述していないので、ざっくりとした部分しか分からなかったと思いますが、これからDjangoを学ぼうと考えている方にとっては、Djangoで何が作れて、どういうメリットがあるのかを把握しておくことは重要だと思い、本記事を執筆いたしました。

今後もPython関連の記事を投稿していこうと考えているので、楽しみにしていてください!