Engineer as a Lifestyle @tenkoma

What We Find Changes Who We Become -- Peter Morville著『アンビエント・ファインダビリティ 』

Windowsにインストール、tut読む

インストールは簡単。(日本語訳ドキュメントのお陰です)+Lhacaでtar.gzを解凍し、http://ymasuda.jp/python/django/docs/install.htmlのインストールの一連のコマンドの中で最後の4でsudo抜きでpython setup.py installを実行する。
django-admin.pyのあるディレクトリを環境変数PATHに追加する。Win32 環境に最小限の Django 環境をインストールするによると「C:\Python24\Scripts」を追加すると良い(setuptoolsは前から入っていたのでダウンロードの必要は無かった)
サンプルプロジェクト用の適当なディレクトリを作って(C:\home\mycode)、django-admin.py startproject mysiteと実行(pyファイルをエディタと関連づけていて引っかかった。フォルダオプションのファイルの種類、PYファイルでpythonインタプリタに変更)

  • python manage.py runserver(試しにサーバーの立ち上げ)
  • http://127.0.0.1:8000/にアクセスし、メッセージを確かめる(やったね)
  • pysqliteをWindowsインストーラからインストール
  • settings.pyにデータベースの設定
    • sqlite用に設定(DATABASE_ENGINE = 'sqlite3',DATABASE_NAME = 'C:/home/mycode/mysite/db/test.db')*1
  • python manage.py startapp polls(mysiteプロジェクトの中にpollsアプリケーションを作る)
  • -

以後メモとってないが、チュートリアルどおりに進めた

想ったこと、押さえたこと

  • 運用で開発サーバを使わないでください
  • 一つのプロジェクトに複数のアプリケーションがぶらさがっている
  • models.pyのクラスが、データベースのモデル
  • DRY則
    • データモデルは只1カ所で定義し取り出せるように
  • フィールドのデータ型:models.*
  • アプリケーションはpluggable
  • models.pyを書くとCREATE TABLE SQL文がどんなになるか調べることができる
  • Pythonインタプリタを使ってデータベースにアクセスしてみよう
  • Djangoでも__str__()を書いた方が親切だよ
  • なぜかpython manage.py shellでIPythonが立ち上がる。便利なので良しとする。
  • objects.get()の引数pkとはprimary keyの略だろう。
  • データベースアクセスを理解するのは簡単だった。
  • adminとは…デフォルト・オフ
  • Django administration:モジュール更新、そく反映
    • 一旦修正でtypoなどすると、項目が消えてしまい、サーバを再起動してようやく直った。
  • モデルの中のAdminクラス:フォームのカスタマイズ
  • list_filterを追加すると、フィルタの為のリンクの日付が1日ずれている件
  • テンプレートはすべてオーバーライド可能、settings.pyでオーバーライド用テンプレ置き場を教え、テンプレ元をコピーして書き換える。

*1:パス区切りにはスラッシュを使う