2010-03-26 108 views
0

我想忽略django的國際化過程中的表單。語言特定的重定向

我使用Django多語言應用程序,所以我有不同的字段爲不同的語言在分貝。

我想出了這個想法:對於每種語言,從index.html頁面重定向到不同的URL(例如/ en /或/ de /或/ zh /)。而這個網址的每個視圖,按照這樣的語言設置會話:

def set_lang_en(request): 
    request.session['django_language'] = 'en' 
    render_to_response("home.html") 

def set_lang_zh(request): 
    request.session['django_language'] = 'zh-cn' 
    render_to_response("home.html") 

有趣的是,這樣做的工作,但如果我後重定向(home.html做爲)再次刷新頁面。

這是爲什麼?怎麼能在我的方向或其他方面解決這個問題?

回答

1

multilingual.middleware在將會話設置在您的視圖中之前很久就會從會話中讀取語言代碼。您可以在視圖中更改語言一次:

from multilingual.languages import set_default_language 
set_default_language('en') 

或者,如果你只是想擺脫方法後不呈現在你看來家裏模板,但設置cookie,並重定向用戶返回。