django -> request.session['django_language']

Django, Flask, Bottle, WSGI, CGI…
Antworten
alexPython
User
Beiträge: 52
Registriert: Donnerstag 7. April 2011, 13:26

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ß
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

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.
alexPython
User
Beiträge: 52
Registriert: Donnerstag 7. April 2011, 13:26

Kann man das irgendwie realisieren, dass es beim ersten mal schon funktioniert?

Gruß
alexPython
User
Beiträge: 52
Registriert: Donnerstag 7. April 2011, 13:26

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ß
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Klar, oder einfach den verlinkten redirect view verwenden, dann hast das Problem auch nicht…
Antworten