5

Hallo Ich möchte eine Klartext-Version meines Inhalts verfügbar haben. Also ich habe eine separate Vorlage dafür. Ich rufe render_to_response mit mimetype="text/plain" an, aber ich möchte einem Browser mitteilen, der diese Seite in der http-Antwort öffnet, dass der Inhalt utf-8 kodiert wird. Wie mache ich das (z. B. was muss ich zu render_to_response hinzufügen)?Senden von Content-Codierung Header in Django

Antwort

7

Gerade charset hinzufügen wie folgt Mimetyp:

mimetype="text/html; charset=utf-8" 

Was hinter Szene wirklich passiert ist, dass MIME-Typ aus kwargs in render_to_response genommen wird.

httpresponse_kwargs = {'mimetype': kwargs.pop('mimetype', None)} 
return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) 

und HttpResponse geschickt, die sie als content_type setzt:

if mimetype: 
    content_type = mimetype  # For backwards compatibility 
if not content_type: 
    content_type = "%s; charset=%s" % (settings.DEFAULT_CONTENT_TYPE, 
       settings.DEFAULT_CHARSET) 
+0

In neuen Versionen von Django der Parameter content_type genannt wird insted MIME-Typ. –