サイトをFreeBSD10+python3.3+Bottleで作り直すメモ(5)-フォームの扱い
- 公開日: 2014/06/29(日) 11:26[JST]
GETメソッドの場合
getメソッドの場合はrequest.queryを使う。
from bottle import route, run, request
@route('/')
def root():
id = request.query.id
POSTメソッドの場合
POSTメソッドの場合はデコレータにpostを使用する。取り出しはrequest.forms.get。チェックボックスみたいに複数の値が指定されうる場合はrequest.forms.getallを使う。ただし、bottleの場合、フォームの文字エンコードはISO-8859-1であるため、日本語などを取り出す場合はgetunicodeを代わりに使う。(getallで日本語を取り出したいときはどうすればいいのだろう)
from bottle import route, run, post, request
@post('/do_post')
def do_post():
username = request.forms.getunicode('username')
checks = request.forms.getall('checks')
を付与しています。