HttpResponseのサブクラスたち
今日は手抜きで、HttpResponseのサブクラスを簡単に解説します。
HttpResponse
いままでのサンプルコードで使っているのはこれでした。
ようは HTTP Status 200 OKを返すためのクラスです。
このクラスに限らず、HttpResponseのサブクラスはテキストだけではなく、バイナリデータも返せます。それにHTTPレスポンスヘッダーも指定できます。
HttpResponseのコンストラクタは色々な引数を渡すことができます。マニュアルから抜粋すると
HttpResponse.__init__(content='', mimetype=None, status=200, content_type=DEFAULT_CONTENT_TYPE)
ありがちなMIMEタイプやステータスコード、Content-Typeが指定できるようになっています。
ただ、ここでは指定できないレスポンスヘッダーを指定するときは、次のような形で指定できます。
response['Pragma'] = 'no-cache'
簡単ですね。。。
他にも、JavaServlet APIに似た、flushやwriteなんて関数も存在します。
HttpResponseRedirect
名前の通り、リダイレクトです。
HttpResponseRedirect('http://www.yahoo.co.jp/')
のような使い方になります。ちなみにこのリダイレクトは 301 のリダイレクトで 302 は、HttpReponsePermanentRedirect になります。