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 中不少轮子咱们仅仅须要使用便可实现咱们须要的功能, 可是仍是须要了解其中的特性以及使用方法才能够事半功倍。翻译

相关文章
相关标签/搜索