Django中 「ugettext」 和 「ugettext_lazy」 對比

MedusaSorcerer的博客


Django封裝了不少模塊API供咱們使用, 例如在翻譯上提供了 ugettextugettext_lazy 兩個方法供咱們使用, 他們都在 django.utils.translation 模塊文件中, 咱們只須要:python

fron django.utils.translation import ugettext as _
複製代碼

或者django

fron django.utils.translation import ugettext_lazy as _
複製代碼

導入便可使用。app

總結兩個方法的特性以下:函數

  • ugettext:預加載的時候調度的翻譯方法
  • ugettext_lazy:請求執行的時候調度的翻譯方法

那麼咱們在使用的時候, 兩個方法分別推薦在如下模塊中使用:spa

  • ugettext
    • models.py
    • apps.py
    • forms.py
    • settings.py
    • 等其餘不須要請求執行, 而是在啓動執行的模塊中
  • ugettext_lazy
    • views.py
    • 函數封裝的.py文件
    • 等其餘須要請求一次就須要執行一次的模塊中

Django 中不少輪子咱們僅僅須要使用便可實現咱們須要的功能, 可是仍是須要了解其中的特性以及使用方法才能夠事半功倍。翻譯

相關文章
相關標籤/搜索