Seite 1 von 1

django -> request.session['django_language']

Verfasst: Mittwoch 18. Mai 2011, 14:52
von alexPython
Hallo,

ich habe meine seite 2 sprachig gemacht.
Auf der anfangsseite ist eine auswahl englisch/deutsch.

in meiner views.py setze ich am anfang die
request.session['django_language'] - variable, je nach dem
was ausgewählt wurde.
danach wird der response gerendert.
die sprache wird nun aber erst beim zweiten request geändert.

wie läuft das denn ab, wird vor jedem rendern nach der
request.session['django_language'] geschaut?

Gruß

Re: django -> request.session['django_language']

Verfasst: Mittwoch 18. Mai 2011, 19:42
von apollo13
Du willst http://docs.djangoproject.com/en/dev/to ... t_language verwenden. Und ja, die aktuelle Sprache wird zu Beginn des requests gesetzt; darum funktioniert deine Änderung erst beim nächsten request.

Re: django -> request.session['django_language']

Verfasst: Donnerstag 19. Mai 2011, 08:02
von alexPython
Kann man das irgendwie realisieren, dass es beim ersten mal schon funktioniert?

Gruß

Re: django -> request.session['django_language']

Verfasst: Donnerstag 19. Mai 2011, 08:44
von alexPython
Hallo,

habe nun

Code: Alles auswählen

from django.utils import translation
translation.activate(lang)
nach request.session['django_language']='de'
und es funktioniert beim ersten mal (request)

Gruß

Re: django -> request.session['django_language']

Verfasst: Donnerstag 19. Mai 2011, 17:12
von apollo13
Klar, oder einfach den verlinkten redirect view verwenden, dann hast das Problem auch nicht…