To force Django to use a specific language for the current request, activate it with django.utils.translation.activate.

from django.utils import translation


def my_view(request):
    translation.activate("it")
    request.LANGUAGE_CODE = "it"
    ...

This is useful when the language must come from your application logic instead of the browser preferences.

If you need to persist the choice, store the language in the session:

request.session["django_language"] = "it"

Then activate it again in middleware or at the beginning of the view that needs that behavior.