Impostare lingua Django manualmente

Per default, Django rileva la lingua dell'utente predefinita, tramite header "Accept-Language". Come sovrascrivere questo comportamento?

25 Giugno 2023

A volte, al posto di renderizzare una pagina usando la lingua dell'utente, vogliamo impostare la lingua manualmente.

Questo può essere il caso, ad esempio, di un sito che permette lo switch manuale tra le lingue:

scelta lingua sito web

Ecco come fare con Django, versione >= 4.0

from django.conf import settings
from django.http import HttpResponse
from django.utils import translation

user_language = 'it'
translation.activate(user_language)

# persist using the cookie
response = HttpResponse(...)
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, user_language)


Link alla documentazione:


Return to wiki index