Django(ジャンゴ)とは?pythoneフレームワークのDjango(ジャンゴ)でWEBアプリケーション開発のすすめ

BACK END

こんにちは!!

LiSMOtechの久津間です。

 

PythonでWEBアプケーション開発を爆速で行うにあたっていくつかのFW(フレームワーク)の選択肢がありますが、今回の記事ではDjango(ジャンゴ)について紹介していきます。

これからpythonを使ってWEBアプリケーションを開発したい方や、Djangoって聞いたことがあるけど使ったことはない、って方を対象に、少しでもDjangoに興味をお持ちになっていただけたり、実際に手を動かしてみるきっかけになると幸いです。

それでは、Djangoとはどういったものなのか、Djangoの特徴について触れて理解を高めていきましょう。

 

Django(ジャンゴ)とは

Djangoは、Pythonで開発を行うことが可能なWebアプリケーションフレームワークです。

pythonは世界で注目されており、人気の高い言語であるため、Djangoを使ったことがある方も多くいるかと思います。

DjangoのWebアプリケーションフレームワークを使うことにより、ブログサイト掲示板管理サイトのようなWebアプリケーションを爆速、効率的に開発することができます。

 

上記にも記載したとおり、Pythonの人気が高まってきている近年では、WEBアプリケーションを開発する言語・FWの選択肢の中からDjangoが採用されているケースも少なくないかと思います。

 

Djangoで作られているサービス

Djangoで作られているサービスの代表例として以下のサービスがあります。

・Instagram

・Pintrest

・Clubhouse

・Bitbucket

・openstack …

Instagramを中心に聞いたことがあるサービスや、一度は使ったことのあるサービスが多いのではないでしょうか。

 

Djangoでできること

人気のプログラミング言語Pythonが様々な開発に対応していることもあり、Djangoでも幅広い開発を行うことができます。

 

WEBアプリケーション開発

当然ですが、WEBアプリケーションの開発を行うことができます。

SEOコンテンツなどを作り込んでいくメディアサイトか、ソーシャル系のサイト、マッチングサイト、業務アプリケーションなど様々なWEBアプリケーションを作成することが可能です。

簡易的なものであれば、爆速で開発を完了することもできるため、非常におすすめです。

複雑な要件であっても機能を拡張することができ、高品質なWEBアプリケーションを作成することができます。

 

API開発

DjangoでAPIを開発することができます。

Django REST frameworkを使うことでRESTの原則に基づくAPI開発をすることができ、標準的なデータフォーマットで多様なアプリケーションを提供することができます。

 

DjangoとFlaskどっちがいい?

PythonのWEBアプリケーションフレームワークを検討される際は、Flaskも選択肢に入ることが多いです。

ここでは2つのWEBフレームワークの違いについて紹介しておきます。

Flask Django
機能

必要最低限

Flaskではカスタマイズ性は高く、必要最低限の機能が備わっています。

豊富

カスタマイズ性は低いですが、デフォルトでWeb開発に必要な機能が豊富です。

規模

小さい

市場の感じを見ていると個人開発のうような、わりと規模が小さい開発に使われている印象です。

大きい

使われているサービスでご紹介したとおり、規模の大きい開発に使われている傾向が多く、利用企業も多いです。

 

Djangoを採用するメリット

Djangoを採用することはいくつかのメリットがあります。

 

車輪の再発明を必要としない

    DjangoではWebアプリでよく使われる「ユーザー認証・ログイン・ログアウト」「メール送信」「管理画面」などの機能があります。

    これらの機能をゼロから開発を行うには負担になり、初心者にも厳しいことが予想されます。

    Djangoを使用すれば、テンプレートやDBアクセスに使うソフトなどを自分で探す必要がなくなり、アプリケーション開発に集中することができます。

     

    ディレクトリ構成等の統一

    複数のエンジニアで開発を行う現場では、ディレクトリを初めとするファイルの構成や命名規則がバラバラになってしまうことがあります。

    しかし、Djangoではファイル作成やディレクトリの構成にルールがあるため、チーム全体の品質も向上されます。

     

    セキュリティの安全性

    Djangoを使うことによって、SQLインジェクション、クロスサイトスクリプティング、クロスサイトリクエストフォージェリ、クリックジャッキングなどの、一般的なセキュリティ対策をDjango側で提供してくれています。

    そのほかにもパスワードはハッシュ化し、データベースに格納されます。

    このようにDjangoを使うことで、セキュリティの信頼性を高めることが可能です。

     

    メンテナンス性の高さ

    モジュールの独立性が高いことから、メンテナンスや拡張がしやすく設計されています。

    Do not Repeat Yourself(DRY)によってコードの再利用がコンセプトとなって作られており、原則として保守性が高く、再利用が可能となっています。

     

    学習コストが比較的に低い

    完全な初心者にとっては、いかなるWEBフレームワークでもキャッチアップするのに時間を要すると思いますが、何かしらのWEBフレームワークを扱ったことがある方にとっては、学習コストが低くなると思います。

    というのも、比較的メジャーなWEBフレームワークになるので、インターネット上における情報量が多いことや多数の書籍が出版されているため、キャッチアップしやすいことがあげられます。

     

    MTVの概念を知る

    Djangoは以下の3つの構成・役割が存在します。

    1. モデル(model)
    2. テンプレート(template)
    3. ビュー(View)

    これらの3構成をまとめてMTVモデルといった呼び方がされます。

    MTVはDjangoを扱って開発する上で、とても大切な概念となります。

     

    モデル(model)は「データをどのように扱うか、処理するかを決定し、SQL文を発行してデータベースと連携」します。

    データの保存もデータの取得も、このモデルを経由してデータベースにアクセスされます。

     

    テンプレート(templete)では、「ブラウザにどのような情報、コンテンツを表示させるか決め、指定」します。

    HTMLやCSS、JavaScriptを記載する必要があるので、これらの言語等も合わせて理解しておく必要があります。

     

    ビュー(view)では、「クライアント(ユーザー)からのリクエストをもとにモデルとテンプレートとデータのやりとりを行い、受け取ったデータベースの情報とテンプレート情報を組み合わせてレスポンス」を返します。

    Djangoの要となるビュー(view)を扱えるようになることで、ユーザーと情報の橋渡しを行うことができるようになります。

     

     

     

    まとめ

    以上、「Django(ジャンゴ)とは?pythoneフレームワークのDjango(ジャンゴ)でWEBアプリケーション開発のすすめ」でした。

    今後のWEBアプリケーション開発を行う際に是非Djangoを採用してみてください。

     

    次の記事では実際に手を動かし、Djangoの環境構築であったり、MTVについてご紹介していきたいと思います。

    それでは、最後までありがとうございました。

     

    こちらの記事も合わせて確認!!!

    Djnagoで開発環境構築!|人気のPythonでDjangoを学ぼう!


    ともに考え、寄り添う。プロのデザインチームが即参戦。

    販促ツールや一貫したデザインによるブランド構築などビジネスの成長をデザインの力で促進します。

    NEXTGATE LiSMOtechでは中小企業を中心にブランディング・WEBマーケティングを活用したWEB戦略を提供しています。

    企業課題・問題に関するご相談、WEBサイト制作やグラフィックデザイン制作のクリエイティブに関するご相談やご質問、お見積りなどお気軽にお問い合わせください。

    お得な情報がLINEに届く!!

    LINE公式アカウントはこちらから。

    友だち追加

    最新記事

    CONTACT

    NEXTGATE LiSMOtechでは中小企業を中心にブランディング・WEBマーケティングを活用したWEB戦略を提供しています。
    企業課題・問題に関するご相談、WEBサイト制作やグラフィックデザイン制作のクリエイティブに関するご相談やご質問、お見積りなどお気軽にお問い合わせください。

    平日10:00〜19:00

    お電話の場合こちらから

    043-305-4162

    平日10:00〜19:00