プログラムの進捗のほどは
K-enq.tdの開発、非常にゆっくりとしか進んでいません。その原因は、ちょっと見通しがつきにくくなってしまい、ともない迷いも増えてしまったためなのですが、なので今は単純作業である、HTMLクラスの拡充を図っているところです。
- 一番新しいHTMLクラス
- d:id:imait:20090222:1235301156
- HTMLクラスの解説?
- d:id:imait:20090210:1234266815
- HTMLクラスに着手したころ
- d:id:imait:20090205:1233834634
今は、フォーム関連のメソッドを書いています。ちょっとずつなんですが、まあなにもやらないよりずっといいし、こうした作業をすることで、だんだんと整理されていくものもあるようで、なのでもうしばらくHTMLクラスに留まることになりそうです。
HTMLクラスは、Perlでよく使われるモジュール、CGIを参考にしている、というかまんまそのコピーみたいなものになりそうなのですが、これを使うとフォームをこんな感じで出力することが可能となります。
print(html.h3(u'追加') + \ html.start_form() + \ html.p(u'ユーザー名:' + \ html.textfield(name=u'add_user')) + \ html.p(u'パスワード:' + \ html.password_field(name=u'add_password') + \ u' ' + \ html.submit(value=u'ユーザー追加')) + \ html.end_form())
同じフォームを出力するのに、以前はこんな風に書いていました。
print(u''' <h3>追加</h3> <form method="post" action"index.py"> <p>ユーザー名:<input type="text" name="add_user" /></p> <p>パスワード:<input type="password" name="add_password" /> <input type="submit" value="ユーザー追加" /></p> </form> ''')
はたしてどちらがわかりやすいかといわれると、正直よくわからんのですが、私はソース内にHTMLがべたで書かれてるのを見るのが好きじゃないから、前者が好みです。でも、Pythonらしく書くなら、後者のようにして、値を%sなどで差し込むほうがいいような気もします。これ、何度もいってきたことですね。
とりあえず、HTMLクラスはこのまま作り続けようと思います。