※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】 LL Ringの「君ならどう書く」で作成したDjangoアプリケーションを暫定公開します。
LL Ringのサイト(かどうかはよくわかりませんが)で、正式に公開されることになると思いますので、あくまで暫定版ということでよろしくお願いいたします。
少し、というかたくさん補足説明をします(詳細はファイルの中のREADMEを 必ず 読んでください)。
以下長々と
作りの構成
見た目は管理画面風でしたが、データ登録に関する部分以外は管理画面の機能ではありません。
「今月の状況」「最近の状況」「明細」は管理画面のCSSを用いて、独自に作成したものです。
国際化
実はインチキ英語で国際化されています。ソースやテンプレートは殆どが英語で記述されています。
管理画面の「ドキュメント」というリンクから、ソースコードに記述してあるドキュメントが「テンプレートタグ」「テンプレートフィルタ」「モデル」「ビュー」というカテゴリに分かれて表示されます(インストールしてあるアプリケーションのもの全てが、アプリケーション単位に分割されて表示されます)。
これは、コマンドをキックしたりすること無く、動的に生成・表示されるものです。
タグ部分の実装
Ivan Sagalaevさんの Tagアプリケーション v1.4 を利用しています。タグの追加や「管理画面での」or検索は、独自コードはありません。
また、明細画面のタグ検索はand検索ができるようにしてあります。
「最近の状況」
直近の3ヶ月を表示するようになっていますが、URLを手でいじくることによって、どんな期間でもグラフ・表ともに出力されるよ うに作成してあります。
出費の管理画面
既存の出費編集画面から一部の情報を変更して「新しく追加」という機能があります。頻繁に発生するものは日付だけかえればすみます。
PyChart
RailsのGraphと似たような使い方だと思います(決して難しいものではない)。
ただ、折れ線グラフに微妙な罠があり、はまってしまいました。
テンプレート
汚いのは、管理画面のCSS(XHTML)の構成を把握していなかったためです。本来は継承でブロックをうまく定義して、まとまりをわかりやすく、無駄を省いて記述が可能です。
Djangoの動作環境について
うけた質問で、意味不明な回答をしましたが、基本は「Apache+mod_python」「Apache+FastCGI」「lighttpd+FastCGI」が動作環境です。
Railsの開発サーバの5倍高速に起動する(マイ仕事マシン比)開発用サーバがついてます。
詳しくは 本家のWiki を参照してください。なんだかへんてこな環境もあります。
実はDjangoのInternalServerエラーページはすごいです(Debug時)
プレゼン開始時に表示されていたデスクトップ画像は事件ではなく恋故意です
Django勉強会、是非やりたいと思っています。マジでくる?