首页 > 解决方案 > Django gettext 和 gettext_lazy 都以相同的名称导入

问题描述

Django 源代码中,gettext()并且gettext_lazy()都导入为_

from django.utils.translation import gettext, gettext_lazy as _

该导入方法是如何工作的,哪种功能从中受益?

标签: pythondjangotranslation

解决方案


不,gettext_lazy被导入为_gettext被导入为gettext。您通常希望使用惰性变体,但这会返回一个代理对象而不是字符串,因此如果您有一个立即需要字符串的上下文,您可能还需要访问非惰性版本。惰性版本可能使用得更频繁,所以它被称为一个漂亮的短名称。


推荐阅读