Djangoで303 Http応答を生成する方法は?
質問
別の質問で話し合っていた最後の数日間RESTfulな方法でランダム性を管理します。今日、私はDjangoでいくつかのアイデアを少し試しに行きましたが、303応答(または300応答、btw)を返す簡単な標準的な方法はない、つまりHttpResponseSeeOtherが内部に存在しないようですdjango.HTTPまたは別の場所。
これを達成するための手段を知っていますか?
解決
他のレスポンスのように、HttpResponseをオーバーライドすることができます:
class HttpResponseSeeOther(HttpResponseRedirect):
status_code = 303
return HttpResponseSeeOther('/other-url/')
他のヒント
汎用のHttpResponseオブジェクトを使用すると、必要なステータスコードを指定できます。
response = HttpResponse(content="", status=303)
response["Location"] = "http://example.com/redirect/here/"
再利用可能なものが必要な場合、ジェラルドの答えは間違いなく有効です。独自のHttpResponseSeeOtherクラスを作成するだけです。 Djangoは、これらの特定のクラスをいくつかの最も一般的なステータスコードにのみ提供します。
所属していません StackOverflow