国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 學院 > 開發設計 > 正文

Django國際化的實現

2019-11-10 20:00:24
字體:
來源:轉載
供稿:網友

Django國際化依賴于GNU gettext工具集,所以在實現國際化之前需要先裝gettext.  sudo apt-get install gettext 可以通過在python交互模式下測試一下有沒有安裝成功  import django   from django.utils.translation import ugettext Django實現翻譯需要在python代碼和模板中添加鉤子(翻譯字符串)  如: python代碼中: ugettext(“test”)     django模板中: {% trans “test” %}  當然,Django國際化不僅僅這么簡單,還有ungettext, gettext_lazy, blocktrans等等,這里只是介紹實現國際化需要的操作. 1.創建一個項目

django-admin.py startPRoject translate因為我的django版本是1.5的,所以項目結構是這樣的: --translate --translate --__init__.py --wsgi.py --settings.py --urls.py --manage.py如果版本在1.4以下,manage.py應該在translate內部,現在比較高的版本中translate包下應該還有migrate,admin.py等文件或文件夾.不過不影響.

2.Django國際化的配置需要在settings文件中添加以下幾個東西:  USE_I18N = True 在middleware中添加  'django.middleware.locale.LocaleMiddleware',  當然,這個middleware不是隨便添加的,需要添加在sessionMiddleware之后,CommonMiddleware之前,如果使用的CacheMiddleware則放在CacheMiddleware之后. 3.創建一個APP  python manage.py startapp internation 或者使用  django-admin.py startapp internation 然后在settings的app中添加internation 4.創建view  cd internation 創建view函數  from django.utils.translation import ugettext as _  from django.shortcuts import render_to_respoonse  def test_trans(request):   return render_to_response("hello.html", {"hi": _("hi")}) 5.配置url 在urls.py中添加 from internation.views import test_trans  url(r'^hello/$', test_trans), 6.在internation中添加templates, 創建hello.html mkdir templates touch hello.html 記住要在hello.html中添加{% load i18n %}(寫在最開頭) 然后編寫簡單代碼 {% load i18n %} <!DOCTYPE html> <html>  <head>   <title>welcome</title>  </head>  <body>   <span>{{ hi }}</span>  </body> </html> 7.生成翻譯文件  在app下創建locale文件夾,因為在運行時,Django構建一個內存中的文字-翻譯目錄,其搜索加載編譯后的.mo文件的順序是:  優先搜索settings文件中LOCALE_PATHS配置的路徑,  其次搜索各個app下有沒有locale  最后,django/conf/locale中提供的Django提供的基本翻譯用作后備. 其實,locale因為主要作用于整個項目,而不是某個app,所以推薦創建在最外面,和manage.py在同一個根目錄下  然后在settings.py中添加:  import os  PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))  LOCALE_PATHS = (   os.path.join(PROJECT_ROOT, 'locale/'),  )  接著使用命令:  python manage.py makemessages -l en_US  python manage.py makemessages -l zh_CN  此時locale目錄結構應該是:  –locale   –en_US    –LC_MESSAGES    –django.po   –zh_CN    –LC_MESSAGES    –django.po  編輯en_US下的django.po   msgid "hi"   msgstr "hello"  zh_CN下的django.po   msgid "hi"   msgstr "你好"  調用命令python manage.py compilemessages  將會生成對應的django.mo文件.  因為我把LOCALE_PAHTS設置成與settings.py在同一目錄下的緣故,需要將編譯好的locale移到translation中. 8.測試運行  python manage.py runserver 8000 打開瀏覽器輸入:  http://127.0.0.1:8000/hello 即可看到"你好"或者"hello" 主要看瀏覽器的當前語言設置,可以在設置中更改當前語言. 9.更高級的使用方法  很多網站上都提供按鈕來切換語言,一般都是中英文切換,這里就用最簡單的按鈕切換中英文.  只需要在之前的代碼上稍作修改.  首先需要在settings.py中添加  LANGUAGES = (   ('en', 'English'),   ('zh-CN', 'Chinese'),  )  表示兩種語言切換.  然后在urls.py中添加   (r'^i18n/', include('django.conf.urls.i18n')),  接著在hello.html修改為     ...   <body>   <form action="/i18n/setlang/" method="post" id="myform">    <input type="hidden" name="next" value="{{ to_url }}" />    {% for language in LANGUAGES %}     {% ifnotequal LANGUAGE_CODE language.0 %}      <input type="hidden" name="language" value="{{ language.0 }}"/>     {% endifnotequal %}    {% endfor %}   </form>   <span>{{ hi }}</span><br />   <span>{% trans "hi" %}</span><br />   <a href="#" onclick="submit()">translate</a><br />  </body>  <script type="text/javascript">   function submit() {   document.getElementById("myform").submit();  }  </script>    然后把views中返回值增加一下  return render_to_response("hello.html", {"hi": _("hi"), LANGUAGES: settings.LANGUAGES, LANGUAGE_CODE: request.LANGUAGE_CODE})  最后進行測試,重啟服務器,打開瀏覽器,點擊translate就可以切換中英文了.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
91看片在线观看| 国产激情在线| 国产丝袜在线| 国产福利热线视频| 国产福利av网站| 国产精品久久精品牛牛影视| 97影院理论午夜| 男人天堂亚洲| 国产一级片麻豆| 香蕉视频网站在线播放| 国产在线激情视频| 国产三级av在线| 在线亚洲不卡| 国产免费a∨片在线观看不卡| 国产黄色片在线播放| www.成人.com| 国产高清免费在线播放| www.夜夜操.com| 国产网站在线免费观看| 亚洲国产成人综合| 国产丝袜护土调教在线视频| 亚洲欧美日韩成人网| 国产精品午夜久久久久久| 99re在线视频播放| 国产麻豆一级片| 香蕉视频在线看| 国产视频青青| 尤物视频在线看| 蜜桃av网站| 日本h片在线观看| 国产超碰在线| 国产青青草在线| 青青草观看免费视频在线| 最近高清中文在线字幕在线观看| 在线观看的av网站| 国产一起色一起爱| 欧美成人久久电影香蕉| 精品卡1卡2卡三卡免费网站| 天天av天天爱| 青青青青在线| 在线观看av网站永久| 国产精品久久在线| 国产三区视频在线观看| 国产在线视频福利| 麻豆精品视频入口| 性国产高清在线观看| 91九色在线看| 操操操综合网| 992tv在线观看在线播放| 豆国产97在线|亚洲| 麻豆网站在线| 国产蜜臀av在线播放| 九九热精品在线视频| 天天av天天爱| 国产黄色片大全| 中文在线视频| 牛牛在线精品视频| 国产美女自拍视频| 97一区二区三区| av在线不卡免费| 秋霞av在线| 国产免费福利| 国产欧美日韩第一页| 国产xxxxx| 亚洲成a人v欧美综合天堂麻豆| 四虎影院成人| 五月婷婷在线视频| 最近中文字幕在线中文视频| 国产黄色网页| 在线播放黄色网址| 久蕉依人在线视频| 国产超碰在线| 狠狠操视频网| 国产国产人免费人成免费视频| 伊人222成人综合网| 日本黄在线观看| 欧美成人久久电影香蕉| 人日人天天爽| 国产精品视频h| 天天干天天摸| 国产精品视频一区麻豆| 先锋影音av中文字幕| 国产美女视频一区二区二三区| 在线中文字幕第一页| 美女av在线播放| 国产成人精品综合网站| 久久五月精品中文字幕| 精品51国产黑色丝袜高跟鞋| 国产毛片毛片| 国产精品一区二区资源| 日本一卡二卡四卡精品| 国产无遮挡在线视频免费观看| 亚洲精品xxxxx| 国产黄色免费网站| 六月天色婷婷| 日本在线视频www鲁啊鲁| 亚洲欧美中文字幕在线观看 | 九九精品九九| 亚洲视频在线观看不卡| 国产aa视频| 国产黄色在线网站| 精品一区二区三区在线观看l| 国产激情自拍| 精品美女视频在线观看免费软件| 中文字幕人成高视频| 在线黄色国产电影| 在线免费观看你懂的| 中文字幕av在线播放| 国产精品99爱免费视频| 1区不卡电影| 非洲黑人最猛性xxxx交| 永久免费av网站| 日本欧美在线视频免费观看| 国产高清av| 精品一区二区观看| gogo在线高清视频| 免费一区二区三区视频狠狠| 久草网在线视频| 国产视频青青| 在线观看av中文| 在线观看电影av| 四虎成人精品在永久在线观看| 超碰91在线| 国产一区二区三区不卡在线| 国产福利小视频在线| av福利在线| 欧美日韩不卡中文字幕在线| 青青久草在线| 国产精选在线观看| 91午夜视频| 免费国产阿v视频在线观看| 最近中文字幕mv免费高清在线| 国产精品福利视频一区二区三区| 夜色资源网av在先锋网站观看| 国产麻豆视频免费观看| 国产福利一区二区在线精品| 操人视频91| 国产黄色av免费看| 另类综合图区| 永久免费网站在线| 国产三级在线观看| 福利视频在线看| 四虎成人免费| 在线成人一区| 国产精品jvid在线观看| 看成年女人免费午夜视频| 国产经典三级在线| 国产麻豆麻豆| 波多野结衣久久高清免费| 五月天丁香在线| 国产探花视频在线观看| www.91在线播放| 97影院秋霞午夜在线观看| 国产精品扒开做爽爽爽的视频| 一本免费视频| 国产美女视频网站| 91在线视频免费看| 国产在线观看a视频| а√天堂8资源在线官网| 国产在线观看网站| 欧洲一区av| 在线视频观看亚洲| 在线黄色国产电影| 福利视频在线导航| 国产中文第一页| 久草视频国产| 国产免费黄网站| 久久精品蜜桃| 欧美日韩性视频一区二区三区| 日本中文字幕在线观看| 九九热在线免费视频| 日本一二区视频| 尤物网站在线| 在线观看中文字幕| 国产精选在线观看| free性亚洲| 99久久国产视频| 亚洲欧美日韩综合精品网| 天天操人人爽| 国产一二三视频| √天堂资源地址在线官网| 午夜亚洲成人| 欧美日韩视频精品一区二区| 国产深夜福利| 青青草在线播放| 精品福利影院| 国产精美视频| 国产免费av网站| 国产视频资源| 国产精品18久久久久久久久久| 国产福利在线播放麻豆| 中文字幕在线观看播放| 精品99又大又爽又硬少妇毛片| av在线不卡网站| 国产中文字幕在线| 天堂√中文在线| 国产精品亚洲第五区在线| 麻豆视频在线观看免费网站| 人日人天天爽| 国产黄色片中文字幕|