让我感到奇怪的是,Django通常使用下划线作为运算符,因为下划线通常用于分配给您以后不想引用的变量。例如
_, file_name = os.path.split(file_path)
这是否意味着您无法在要使用_
表示法的同一命名空间中为_("column_name")
分配不需要的变量?
答案 0 :(得分:3)
_
只是另一个名称,perfectly valid,尽管看起来很奇怪。就像其他任何名称一样,重新绑定它会使旧的引用不可用。
答案 1 :(得分:0)
我认为您正在将_
变量与Django的混淆
from django.utils.translation import gettext as _
(您使用的第一个_
)是一个抛弃型变量,通常用作约定。
Django通常也将gettext导入为_
来显示翻译后的文本,例如:
from django.http import HttpResponse
from django.utils.translation import gettext as _
def my_view(request):
output = _("Welcome to my site.")
return HttpResponse(output)
此外,下划线字符(_)用于表示Python的交互式shell和doctest测试中的“先前结果”。安装全局_()函数会引起干扰。明确将gettext()导入为_()可以避免此问题。