您可以在Django中为下划线分配变量吗

时间:2018-07-18 18:10:30

标签: python django

让我感到奇怪的是,Django通常使用下划线作为运算符,因为下划线通常用于分配给您以后不想引用的变量。例如

_, file_name = os.path.split(file_path)

这是否意味着您无法在要使用_表示法的同一命名空间中为_("column_name")分配不需要的变量?

2 个答案:

答案 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()导入为_()可以避免此问题。