[Django/Python] 気に食わない
何が気に食わないって、まずは眩暈がするほど可読性が低い admin ページのテンプレ。そしてだるいテンプレの記述ルール。なんで endfor とか endblock なんだ*?Python なんだからインデントで片付ければいいじゃないか。または %} でスコープエンドにするとか。まぁ、4294967296歩譲ってこれはいいとしよう。
チュートリアルには開発中はコードを修正すると自動でリロードが行われると書いてあるが、実際には行われないことが多々ある。そのときは開発サーバを手動で停止してから runserver しなきゃならない。このとき、とてもとてもとても親切なことに何も指定しなくても文法チェックをしてくださるらしく、ファイルが増えるにしたがって起動するまでの時間が延びていく。率直に言って邪魔なだけだ。効率のいい開発を妨げているとしか思えない。
動作が遅いプログラムはそれだけで存在価値がないと思っているわたしにとって一番気に食わないのは、この自動チェックだ。とりあえず動かしてみて、エラーが返ってきたり、動作がおかしかったらデバッガとかチェッカ走らせればいいだけじゃないのかな。無駄なことするよりさっさと起動してほしい。
今のところは、わたしにとっては Django は最も使いたくない Python Extension だ。
{% ~: %} か {{ ~ }} を使って下のように書けばいいよねということ。
{% if hoge:
<ul>
{% for fuge in [ piyo for piyo in piyopiyo ]:
<li>{{ waha }}</li>
%}
</ul>
%}
| 固定リンク
この記事へのコメントは終了しました。
コメント
インデントで対処はおそらくできないでしょう。残念ながらHTMLはスペースやタブ・空行の存在でレンダリングが変わってしまいます(つまり勝手に消すのもNG)。もちろんテキストを処理する際にも使えませんよね、インデントで処理をするテンプレートシステムは。
処理された結果とテンプレートパーサの処理速度・実務上のコーディング速度からDjangoチームが導きだした成果物です。テンプレートは好みが大きいのですが、Djangoの強みとすべき機能郡のかなり上位に位置するものだと思います。Djangoにはプログラマでのみならず、デザイナーが群がっているくらいですから(世界の話)。想像力は必要ですが、慣れてくると他のテンプレートには戻れない体になります。
また、サーバの再起動時にかかる時間は他の開発サーバ群に比べれば最速の部類に入ると感じています。
起動時にコンパイルを行うのは、そうした方がトータルコストが安くなるからでしょう。文法エラーを実行時に知ることと、コードの保存時に知るのはどちらが無駄が少ないのでしょうか?
あ、Djangoが気に食わないというのは別に構いませんよ。
ではでは、
#なげーな。。。
投稿: everes | 2006/10/12 22時59分