Djangoはデザイナフレンドリー?

2007/03/13 12:41

※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】

3月の2〜4日に日本中からPythonistaが集う開発合宿、「 Python Developers Camp 2007 Winter 」が行われました。

初日にデザイナ側の人、nyusukeさんが発表した「Djangoにおけるデザイナフレンドリーとは」のプレゼン動画をstage6にアップしました(動画配信チームの尽力に感謝)。 デザイナ向けDjangoセミナーとかがあったら参加者いるかな?

  1. 「Djangoにおけるデザイナフレンドリーとは」動画

  2. nyusukeさんによる、サンプルコードについての説明ページ

お問い合わせ画面 - devcom お問い合わせ処理画面

サンプルについての補足

  1. ライセンス: 修正BSDです。

  2. データベースはsqliteを前提にしています。

syncdbの際に自動でデータが登録されるSQL(devcom/contact/sql/inquirytype.sql)が他のバックエンドで動作するかどうかは確認していません。

  1. トップページに表示されるニュース一覧は、ログインしていない人に対しては一定期間キャッシュされたデータが表示されるようになっています。

  2. フラットページでは、django.contrib.sitesのデータを利用します。

syncdbというインストール作業でexample.comが登録されてしまうため、本来はデザイナさんにデータの編集をお願いしなければいけません(開発サーバはlocalhost:8000)。デザイナがそれを意識しないで済むように、django.contrib.sitesのインストール終了後フックでデータを無理矢理localhost:8000に書き換えました。

  1. フラットページ(flatpages)で追加しなければいけないデータは、「/」「/company/」「/service/」です。

管理画面から適当な内容のデータを追加してください。

  1. Djangoの管理画面はアプリケーション用にジェネレートされるものではありませんが、テンプレートの探索順序がうまくできているため、フラットページのみにWYSIWYGエディタを追加することも容易です(devcom/templates/admin/flatpages/flatpage/change_form.html)。

  2. お問い合わせの処理をできる限り行いやすいように、お問い合わせのモデルはある程度細かく定義してあります。

試しにお問い合わせを数件登録し、管理画面でお問い合わせを処理してみてください。

  1. ビューはいっさい記述していません(他のフレームワークでいうAction)。devcom/news/views.pyとdevcom/contact/views.pyはからっぽです。

  2. Pythonのdocutilsがインストールされていれば、管理画面の右上「ドキュメント」というリンクから、「モデルについてのドキュメント」が参照可能です。

ビューやカスタムテンプレートフィルター/タグも作られていれば同様にドキュメントが動的に表示されます(パブリッシュってなに?)。

  1. nyusukeさんとの恊働について。プログラムはわたくし露木が書きましたが、テンプレートはすべてnyusukeさんによるものです。変数や制御文・ページングの記述もすべてnyusukeさんが行っています。私はテンプレートの構成についてのアドバイスと、どの呼び出しでどのモデルがどういう名前で渡されるか、ということのみを説明しました。

Prev Entry

Next Entry