Djangoとは、PythonのWebアプリケーションフレームワークのことを指しています。いわゆるフルスタックのフレームワークなのですが、Pythonのシンプルさもあり非常に使いやすく実践的なフレームワークになっています。Google(Google App Engine)やInstagram、NASAなど導入事例も多く知られています。
Djangoのメリット
MTVを採用した設計
MVCモデル(Model-View-Controller)のフレームワークが多い一方で、DjangoではMTVモデル(Model-Template-View)を採用しています。
ただ、MVCのViewをTemplateとして、ControllerをViewとして扱っているようなものなので、両者に大きな違いはありません。
強力な管理画面の作成機能
Grappelliというライブラリで簡単に画面が作成可能。
最近は、簡単なCRUDはDjangoの管理画面を、複雑な操作を行う場合はBFFの構成でBootstrapで構築。
Webアプリ作成に必要な一通りの機能がある
Form/Validation
Pagenation
Session
Logging
Routing
i18n
Cache
ファイル操作
メール配信
テンプレート
セキュリティ
その他
Pythonの豊富なライブラリによる機能追加
Slackerを使ってSlack通知
Werkzeugでブラウザ上でデバッグ
Django REST frameworkでAPI構築
Djangoのデメリット
Railsや他のフレームワークのモダンな機能の追随は弱い
JavaScriptを含むようなフォーム等。
クライアントで独立させるか、仕様を妥協する必要がある。
複雑なSQLの実行は苦手です。
国内Pythonエンジニアの絶対数は他言語(PHP等)と比べて少ない
最近増えてきましたが、それでも日本語の情報は少ないです。
自ずとエンジニアは少なめなので、採用等も難しくなります。