iPX社員によるブログ

iPX社員が"社の動向"から"自身の知見や趣味"、"セミナーなどのおすすめ情報"に至るまで幅広い話題を投下していくブログ。社の雰囲気を感じ取っていただけたら幸いです。

Django Python Webアプリケーションフレームワーク

自己紹介

5回目の記事を担当します。iPXのパルハットです。

現在業務でCAE関連の自動化システムの開発を行っています。業務でプログラム言語として
pythonを使用することが多いです。最近業務以外にPythonでWeb系システムを開発するように活動を行っています。そこで出会ったのがDjangoです。そこで、今回のBlogでDjangoを簡単に紹介したいと思います。

Djangoの概要

Django(ジェンゴ)は、Pythonで実装されたWebアプリケーションフレームワークです。アメリカの新聞社の社内ツールとして2003年頃開発されて、2005年にBSDライセンスのもとで、オープンソースとして公開されました。MVC(model-view-controller)デザインパターンに穏やかに従います。

Djangoのコア部分

  • データモデル
  • O/Rマッパ(リレーショナルデータベースと間を仲介)
  • URLディスパッチャ
  • リクエスト要求を処理するビュー
  • データを表示するテンプレートシステム

DjangoにおけるMVC機能

モデル(Model)

モデルはDjangoで用意されているO/R(Object/Relational Database Mapper)マッパーが担当します。O/RマッパーはPythonクラスとしてモデルを定義するだけで、簡潔で用意データベースのインターフェースを使用できるようにします。

テンプレート(Template)
Djangoのテンプレートは、デザインとコンテンツ,Pythonコードの分離を目指したテンプレートエンジンで、Djangoテンプレート言語を使ってマークアッ プしたテキストドキュメントや Python 文字列です。

ビュー(View)
ビューは、HTTPリクエストを引数にとり、HTTPレスポンスを返すなど要求を処理するシステムです。

コントローラ(Controller)
正規表現に基づくURLディスパッチャで、URLのパスとそれに割り当てられ呼び出されるビュー関数のマッピングを記述するURLディスパッチ機構が担当します。
f:id:ipx-writer:20150228204745j:plain

Djangoのメリット

  • Pythonで作られたフルスタックフレームワークです。
  • ORM(Object Relational Mapping)が優れています。
  • 管理サイトが素晴らしいです。
  • 学習コストが低いです。
  • 素早く簡潔できれいなアプリケーションを構築可能です。

今回Djangoフレームワークを簡単に紹介しました。近年開発にDjangoも使われたいるWebアプリケーションが増えています。たとえば、Instagram,Goole App Engine等があります。

次回からDjangoで簡単blogシステムの作成を紹介したいです。

参考文献

http://ja.wikipedia.org/wiki/Django
http://codezine.jp/article/detail/4065