はじめての Django アプリ作成,その 1以降、その 4まで。
クイックリファレンス(PDF)を眺めて、環境を整えつつ探りつつ休憩しつつと、ごにょごにょして気が済んだので、チュートリアルに挑んでみました。
凄いですね、あの管理画面。畳み込み表示とかカレンダーとか、モデルの一覧画面にフィルタやら検索やらが付けられたり。フレームワーク自体を詳しく見てはいませんが、チュートリアルで触ってみた感じでは楽しいです。開発用のウェブサーバもあるのでらくちん。
テスト環境やらデプロイ環境は別途必要なのでしょうか?それとも、Pythonにはデファクトが存在していて、Python圏の人たちはそれが当然?他言語で言うMakefileがsetup.py?
さて、Djangoを触っていた時間は楽しかったのですが、その環境を整えるまでにイライラする事がちらほらありました。Tracを入れた頃にMacPortsでPythonを入れて、最近のPython入門に伴ってMacPython(pkg)を入れて、としていたせいか、py-sqlite2を(依存解決やら何やらで)なかなかインストール出来ませんでした。
MacPortsでpy-sqlite2をインストールする際、Python2.4を要求され、依存解決としてPython24を(自動的に)インストールしてしまったわけですが、これがファイルの重複だかで失敗。なんだかんだとしばらくPythonの入れ直しをしてました。MacPortsは相変わらず使いこなせていません。。。
あと、実はDjangoを(tarball落として来てsetup.pyで)入れた後で気づいたのですが、MacPortsにもpy-django-develとしてあるんですね。
ymasuda.jpに豊富な邦訳ドキュメントがあるので、安心してDjangoを触れます。感謝。


テスト環境が、デプロイ環境の前段階という意味であれば、デプロイと同様にapache2+mod_pythonが必要です。fastcgiでも動作しますが、Railsの例からもわかるようにfastcgiはあまり安定しているとはいえません。
TDD時のテスト環境であれば、テスト実行時にあたかもサーバがあがっているかのように振る舞いますので、別にサーバを入れる必要も開発サーバを起動する必要もありません。
Pythonのパッケージは私は以下のものを使ってしまっています(会社マックにはXCodeもインストールしていないので)。
ttp://pythonmac.org/packages/py24-fat/index.html
ようこそインデントの世界へ(棒読み)
コメントありがとうございます。
『環境』という書き方は違いました、ごめんなさい。ツールとかパッケージという事を言いたかった気がします。
unittestモジュールは標準なんですね。CIの一環として全てのモジュールについてテストを実行する場合は、findとか使うのでしょうか?
PHPUnitであれば、テストスイートを用意して一括実行出来ますが、Djangoではどんな感じかな、と。
あと、SeleniumテストをDjangoで上手く利用していたりするのかなという事も気になっています。
Seleniumを使いたい場合は、適当にテストケース書いてテストスイートを用意するのでしょうか。
詳しく知りませんが、Selenium on Railsというのがあるようなので気になってます。
あとは、(setup.pyの役割を知らずに書いてますが)デプロイツールとして、setup.pyを使うのがPython的なのかなという事も気になってます。
Djangoでデプロイツールが用意されているのか、Python標準(?)な方法があってPython使いはそれを使うものなのかな、と。
普通にCapistrano使ってるんでしょうか。
フレームワーク自身が全てを持っている必要性があるのかは分かりませんが、(コードを書いて機能を実装する)開発作業よりも運用作業面で困る事が多かったので、テストとデプロイに関するサポート状況が気になっています。
これらについて探りつつ、徐々にインデントの世界に浸かりたいと思います。