1

そのため、Django のデコレーターをいくつか使用して、API でキャッシュを有効にしています。

@require_GET
@cache_page(100)
@cache_control(max_age=100, s_maxage=100)
@csrf_exempt
def my_api(request):

問題は、304 Not Modified 応答が text/html Content-Type ヘッダーで返されることです。私の API は通常、application/json Content-Type ヘッダーを返します。一貫性を保ちたいと思います。304 応答コードで返すコンテンツ タイプを Django に伝える方法はありますか?

4

1 に答える 1

0

問題はこちらhttps://github.com/django/django/blob/master/django/http/response.py#L411

MIME タイプを再度追加するデコレータを作成する

def RestoreMime(fn):
  def Wrapper(*args, **kwds):
    response = fn(*args, **kwds)
    response['Content-type'] = your_mime_type
    return response
  return Wrapper
于 2013-04-11T09:23:33.230 に答える