2016-07-06 109 views
0

Django 1.9.6當我打開瀏覽器並更改語言時,i18n可以正常工作。 但是我想保存語言,而其他時候用戶來的時候會用他/她的首選語言。 現在,當我打開網站總是重定向我/恩。我試圖改變我的設置,並設置如何在打開瀏覽器時使用用戶首選語言將頁面重定向到用戶

LANGUAGE_CODE='ru' 

或別的東西,但它並沒有在這裏工作是我的設置文件

ALLOWED_HOSTS = [] 
    LOGIN_URL=reverse_lazy('login') 
    AUTH_USER_MODEL='custom.MyUser' 
    INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'custom', 
    'languages', 
     ] 

    MIDDLEWARE_CLASSES = [ 
     'django.middleware.security.SecurityMiddleware', 
     'django.contrib.sessions.middleware.SessionMiddleware', 
     'django.middleware.locale.LocaleMiddleware', 
     'django.middleware.common.CommonMiddleware', 
     'django.middleware.csrf.CsrfViewMiddleware', 
     'django.contrib.auth.middleware.AuthenticationMiddleware', 
     'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
     'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    ] 

    ROOT_URLCONF = 'builtcustom.urls' 
    WSGI_APPLICATION = 'builtcustom.wsgi.application' 
    LANGUAGES=(
       ('en',_('ENGLISH')), 
       ('fr',_('FRENCH')), 
       ('cs', _('czech')), 
       ('hy', _('ARMENIAN')), 
       ('ru', _('RUSSIAN')), 
       ) 
    LOCALE_PATHS = (
         os.path.join(BASE_DIR, 'locale'), 

        ) 

LANGUAGE_CODE = 'en-us' 
TIME_ZONE = 'UTC' 
USE_I18N = True 
USE_L10N = True 
USE_TZ =False 

我如何解決這個問題,並用我想要的語言(從數據庫中動態選擇)重定向到URL?

回答

1

對於一個特定的網址你在Django這樣的選擇語言。

from django.utils.translation import activate 
activate('fr') # To use french 

結帳documentation
你可以很容易地從數據庫中得到你想要的任何語言,並調用它激活。確保您的數據庫中的語言與Django具有相同的縮寫。

相關問題