2

私は一般的なWebとdjangoの世界の両方に不慣れです。私はHttp404すべてのエラーケースを提起してきました(私の見解から)。404さまざまなエラーなど、以外の値を上げた方が、401, 402..何が問題なのかを検出するのにはるかに適していると思います。

return HttpResponse(status=401)は仕事をすることがわかった。しかし、これは容認できる慣行と見なされますか? それぞれが何かを意味するはずなので、ステータスコードに干渉すべきではありませんか?

4

2 に答える 2

1

各ステータス コードには特定の意味があります。各コードの意味については、Wikipedia ページの HTTP ステータス コードのリスト ページを参照してください。

応答ごとに適切なステータス コードを選択する必要があります。たとえば401、クライアントが許可されていない場合にのみ使用する必要があります。ステータス コードに独自の意味を割り当てるのは得策ではありません。

エラーを検出しやすくしたい場合は、代わりにカスタム ヘッダーを設定できます。

response = HttpResponse()
response['My-App-Error'] = error_code
return response
于 2012-11-20T12:20:24.147 に答える
0

はい、サブクラス化HttpResponseして、さまざまなタイプの HTTP 応答を処理できます。詳細はこちら

たとえば、次のように送信できHttpResponseますstatus code 403

from django.http import HttpResponseBadRequest

def my_view(request):
    # ...


    return HttpResponseBadRequest('<h1>You are not authorized to view this page</h1>')
于 2012-11-20T11:20:20.483 に答える