Djangoを使ってみてる その2
チュートリアル通り進めた場合、チュートリアルその3のURLconf の脱カップリングで行った内容だけだとDjangoアプリケーションの切り離しは出来ない。何故ならviews.pyに
from mysite.polls.models import Poll
と書いてしまっているから。これだとmysite以外のプロジェクト内に移動した場合にコードの修正が発生してしまう。完全に切り離すには、
from polls.models import Poll
と書かなければならないと思う。チュートリアルその4まで見たけどこの事についてはどこにも触れられていないっぽい。誰でもすぐ気付くからかな?
ちなみに、Django付属の開発用サーバではimport文を上記のように書き換えてもそのまま動くけど、Apache+mod_python上ではPythonPath上にpolls.modelsが見つからない、というエラーになった。ドキュメントのmod_python で Django を動かすには、DjangoプロジェクトおよびDjangoアプリケーションそれぞれの親ディレクトリをPythonPathに含める必要がある、と書いてあった。なので例えば/home/jun-g以下にチュートリアル通りの以下のようなディレクトリ構成で配置した場合、
mysite | +-- polls
PythonPathには以下のように書く必要がある。
PythonPath "['/home/jun-g', '/home/jun-g/mysite'] + sys.path"
っていうポイントにちょっとだけ引っかかった。
後、作成した自分用のアプリの入力フォーム生成とデータのバリデーションをnewformsを使うように修正した。泥臭いコードがかなり減ったけど、もうちょっと適切なWidgetを適用すればまだまだ整理できそうな感じ。そういえば、ドキュメントにoldformsの事は知らなくて良い、と書かれていたので、oldformsには一切触れず。
あ、generic viewsもmiddlewaresもまだ全然触っていない。これは次のアプリで使ってみることにしよう。後、動作環境をApache+mod_wsgi上に移す、とかもやりたい。
posted by jun-g at 20:54
[ | Permalink | 1 Comments/TBs ]

![Validate my RSS feed [Valid RSS]](/images/valid-rss.png)
