2008-04-27 13:56:14
mob_pythonはよく判らないと云いつづけていて、POSTがよく判らなくてGETしか使えなかったのだけれども、ようやくPOSTで送った情報を受け取れた。
<html> <body bgcolor="white"> <form action="form1.py/answer" method="post"> 名前:<input type="text" name="username"> <br /> <input type="checkbox" name="author" value="ダンセイニ">ダンセイニ<br /> <input type="checkbox" name="author" value="ラヴクラフト">ラヴクラフト<br /> <input type="checkbox" name="author" value="トールキン">トールキン<br /> <input type="checkbox" name="author" value="神のみぞ知る">三人とも知らない<br /> <input type="submit" value="OK"><br> </form> </body> </html>という内容のhtmlファイルを作ると、こんな表示になる。

こんなふうに名前欄に「徳川家康」と書いて、「三人とも知らない」を選んでform1.pyに送ってみる。form1.pyはこんなふうに書いた。
#!/usr/bin/python
# -*- coding: utf-8 -*-
def answer(req, username, author):
if isinstance(author,list):
authors = "と".join(author)
else:
authors = author
s = """ <html>
<body bgcolor="white">
こんにちは、%sさん。好きな作家は%sですね。
</body></html>
""" % (username, authors)
return s
すると、
こんにちは、豊臣秀吉さん。好きな作家はダンセイニとラヴクラフトですね。というように表示される。つぎに、

とすれば、
こんにちは、徳川家康さん。好きな作家は神のみぞ知るですね。と表示される。難しいどころか、簡単ではないか。PHPよりも簡単ではないか。複数だと勝手に配列にしてくれるのか。一個だと配列にしてくれないから、配列かどうか判別しなければならないけれども。