Djangoを利用してアプリを作る

以前も少し書きましたが、C#とASP.NETで作成していた自分用の「レシピ管理システム」を、現在Djangoで作り直しています。
※リポジトリはこちら

DjangoはPythonで作られたフルスタックフレームワークです。
よく言語比較をされるRubyではRuby on Railsが有名であり、そちらのほうが巷では人気がありますが、
昨今の機械学習ブームも手伝ってPythonという言語自体はとても注目されています。

以前バッチ処理でPythonを利用していた私としては、せっかくなのでWebアプリも作ってみようということで挑戦することにしました。
ただ、Djangoに関する文献やドキュメントは英語が多く、最低限動作させるのにも結構苦労しましたので、今後Djangoを学ぶ方の役に立てばいいなと思いこの記事を書きます。

ちなみにチュートリアルは基本日本語ページですが、半分ぐらいは英語ページのままだったりします。

プロジェクト≠アプリケーション

他言語でWebフレームワーク利用経験があると、まずここで混乱します(私もそうでした)。

たとえば「CakePHP」の場合、以下コマンドでアプリケーションを作成して、それをそのままプロジェクトとして利用します。

先ほどあげた「Ruby on Rails」も同様です。

Djangoの場合、プロジェクト内で機能や用途に応じてアプリを分けるという方針で開発することになります。
最近のソーシャルゲームだと、ユーザ情報、イベント情報、手持ちのキャラクターなどはすべて別アプリで、それらをまとめて1つのプロジェクトとして管理するようです。
※ここらへんは、作成中のレシピ管理システムにはまだ反映できていません…。

プロジェクト作成

アプリ作成

利用する主なファイル

他のフレームワークであるような「MVC構成」とは少し異なります。
作成したアプリで以下のファイルが配置されますので、それぞれの中で一括管理するようです。

  • urls.py…ルーティング関連
  • views.py…コントローラ関連
  • models.py…モデル関連

urls.pyは、デフォルトではプロジェクト・各アプリそれぞれにあります。
プロジェクトのurls.pyではパスを各アプリへの振り分けを行い、各アプリではそれ以下のパスの振り分けを行っています。

以上、ひとまず基本部分でした。
テンプレートでのヘルパー利用やモデルの設定についても触れたいのですが、それは次回以降にまわします。
興味を持っていただけた方は、まずは上記Bitbucketのリポジトリをご覧ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA