プログラムの進捗のほどは

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クラスはこのまま作り続けようと思います。