/ / Wie wird der Content-Type-Header für den 304-HTTP-Antwortcode festgelegt? - Python, Django

Wie setze ich den Content-Type-Header für den HTTP-Antwortcode 304? - Python, Django

Daher verwende ich nur wenige Dekoratoren von Django, um das Cachen auf meiner API zu ermöglichen:

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

Das Problem ist, 304 nicht geändert Antwort istzurück mit text / html Content-Type-Header. Meine API gibt normalerweise den Header application / json Content-Type zurück und ich möchte konsistent sein. Gibt es eine Möglichkeit, Django mitzuteilen, welcher Inhaltstyp mit dem Antwortcode 304 zurückgegeben werden soll?

Antworten:

0 für die Antwort № 1

Das Problem ist hier https://github.com/django/django/blob/master/django/http/response.py#L411

Schreiben Sie einen Dekorateur, um den Mimetyp erneut hinzuzufügen

def RestoreMime(fn):
def Wrapper(*args, **kwds):
response = fn(*args, **kwds)
response["Content-type"] = your_mime_type
return response
return Wrapper