l'envoi d'en-tête de codage contenu dans django
-
26-09-2019 - |
Question
Bonjour je veux avoir une version texte brut de mon contenu disponible. J'ai donc un modèle distinct pour cela. J'appelle render_to_response
avec mimetype="text/plain"
mais je veux dire à un navigateur d'ouvrir cette page dans le http-réponse que le contenu est utf-8 codé. Comment puis-je le faire (par exemple ce que dois-je ajouter à render_to_response
)?
La solution
Il suffit d'ajouter à charset mimetype comme ceci:
mimetype="text/html; charset=utf-8"
Qu'est-ce qui se passe vraiment derrière la scène est que mimetype est prise sur kwargs dans render_to_response
.
httpresponse_kwargs = {'mimetype': kwargs.pop('mimetype', None)}
return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
et envoyé à HttpResponse
qui la définit comme content_type
:
if mimetype:
content_type = mimetype # For backwards compatibility
if not content_type:
content_type = "%s; charset=%s" % (settings.DEFAULT_CONTENT_TYPE,
settings.DEFAULT_CHARSET)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow