日記

日々のことと、Python/Django/PHP/Laravel/nodejs などソフトウェア開発のことを書き綴ります

views.py で利用できるショートカット関数

render_to_response

散々使ってますが、一応紹介すると、テンプレートをレンダリングしてクライアントに結果を返すショートカット関数です。

render_to_response(
'template.html',
{'key':'value',},
context_instance=RequestContext(request),
mimetype='text/html',
)

こんな使い方です。mimetypeは、レスポンスのContent-Typeなので、テンプレート次第で text/xml という指定もできます。

redirect

前回紹介したHttpResponseRedirectの動作もショートカット関数が用意されています。

redirect(
'/redirect_path',
permanent=False,
)

こんな使い方です。
permanentはデフォルトが False です。リダイレクトを 302 にしたいときは permanent=Trueとするだけ。

Http404

ショートカットですが、ショートカット関数ではなく例外です。
使い方としては

requireParam = request.GET.get('requireParam', 0)
if requireParam == 0:
raise Http404

となります。
サンプルコードは、requireParamが指定されていない時に request.GET.getの第二引数で指定した 0 が返ってくるので、requireParamが 0 のときは、HTTP 404を返す処理になっています。

まとめ

ショートカット関数は、自分でインスタンスを作ったりする部分を省略できるので、楽になります。知っておいて損はないと思います。他にも便利な関数があるので、それはまた別の機会に。


次回は HTTPリクエストをあれこれいじって、フォームの値を取得したりしてみたいと思います。