python - django國(guó)際化,更改.po文件無(wú)效
問(wèn)題描述
請(qǐng)教各位大神,由于最近在學(xué)Django,學(xué)到django國(guó)際化的時(shí)候,出現(xiàn)了小問(wèn)題:無(wú)論我怎么更改django.po文件,刪除重新生成,重啟服務(wù)器,每次顯示的頁(yè)面仍然是我第一次使用.po文件的樣子/(ㄒoㄒ)/~~settings.py如下:
LANGUAGE_CODE = ’zh-CN’TIME_ZONE = ’UTC’USE_I18N = TrueUSE_L10N = TrueUSE_TZ = TrueLANGUAGES = ( (’en’, (’English’)), (’zh_CN’, (’中文簡(jiǎn)體’)), (’zh-hant’, (’中文繁體’)),)LOCALE_PATHS = ( os.path.join(BASE_DIR, ’locale’),)
也添加了對(duì)應(yīng)的中間件:
MIDDLEWARE_CLASSES = ( ’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’, ’django.middleware.security.SecurityMiddleware’,)
測(cè)試的函數(shù),在views.py中如下:
def test1_view(request): n = 2 weekdays = [_(’Monday’), _(’Tuesday’), _(’Wednesday’), _(’Thursday’), _(’Friday’), _(’Saturday’), _(’Sunday’)] return HttpResponse(weekdays[n])
利用$ python manage.py makemessages -l zh_CN,在/locale/zh_CN/LC_MESSAGES/django.po處生成文件更改如下:
#: testdeploy/views.py:64msgid 'Monday'msgstr '一'#: testdeploy/views.py:64msgid 'Tuesday'msgstr '二'#: testdeploy/views.py:64msgid 'Wednesday'msgstr '三'#: testdeploy/views.py:64msgid 'Thursday'msgstr '四'#: testdeploy/views.py:64msgid 'Friday'msgstr '五'#: testdeploy/views.py:64msgid 'Saturday'msgstr '六'#: testdeploy/views.py:65msgid 'Sunday'msgstr '七'
并且也刪除了#,fuzzy,利用$ django-admin.py compilemessages進(jìn)行了編譯,返回的仍然是第一次試驗(yàn)的時(shí)候的:
而且,即使我將.po文件刪除,重啟服務(wù)器同樣可以顯示,請(qǐng)問(wèn)這是為什么呢?是否仍然存在類(lèi)似于cookies之類(lèi)的緩存需要清除呢?謝謝各位~
問(wèn)題解答
回答1:經(jīng)過(guò)自強(qiáng)學(xué)堂向涂老師發(fā)郵件請(qǐng)教,問(wèn)題在于將settings.py中設(shè)置成
LANGUAGES = ( (’en’, (’English’)), (’zh-CN’, (’中文簡(jiǎn)體’)), (’zh-TW’, (’中文繁體’)),)
而生成的時(shí)候仍然按照下劃線生成,即執(zhí)行$ python manage.py makemessages -l zh_CN
回答2:python manage.py compilemessages 了么?
