- 設定ファイルをいろいろいじらないといけない
これまでは、PHP + SMARTYやPythonでもmod_python + Cheetahという組み合わせを使っていたので、新たに作ったViewのためのファイルはそのまま使うことができたが、ちょっと勝手が違う。
つまり、ApacheのDocumentRootに置いたものはすべて閲覧/実行可能で適宜.htaccessで制限を掛ける、に対して、Djangoではデフォルトで何も閲覧できない状態で、公開するものをその都度設定する、という逆の発想なのだ。セキュリティを考えるとこちらの方が望ましいのだろう。
- O/Rマッパーやフォームの自動生成
- settings.pyのフルパス記述の強要
しかし、自分はアップロードした画像をファイルとして保存して扱うアプリケーションを書くことが多いので、ロジック中でMEDIA_ROOTを使い、Viewへ渡すときにMEDIA_URLベースに変更という作業が毎回発生して少しウザイ。
また、MEDIA_ROOT内の特定のフォルダを相対パスで指定してglobでトラバースした結果が空になるという動作には、本当にまいった(MEDIA_ROOTを使って絶対パスを使用すれば問題ない)。これで5時間ハマった。
まあ、これは画像もModel化してDBへ保存しろという神の思し召しかもしれない。
いろいろ書いたが、Django固有のAPIさえ頭に入れれば、快適快適。もう少し早く使い始めたかったと後悔しているくらいだ。
No comments:
Post a Comment