VSCode 中的 Django 目录不同

Django Directory was not same in VSCode

from django.utils.translation import ugettext_lazy

过去 2 小时我在这一行中遇到问题我尝试了所有方法但都失败了,但是当我检查 django.utils.translation 的目录时是其他人和目录ugettext_lazy同时有其他人 django.utils.translation 在 C:\Users\admin\AppData\Local\Programs\Python\Python310\Lib\site-packages\django\utils\translation_init 中搜索 ugettext_lazy _.py

但是ugettext_lazy目录在C:\Users\admin\.vscode\extensions\ms-python.python-2022.4.0\pythonFiles\lib\jedilsp\jedi\third_party\django-stubs\django-stubs\utils_初始化_.py

如何使其成为同一目录

文件扩展名末尾的 i 表示该文件是 interface 您可以阅读更多内容 。一个回答说:

“此文件只是一个 Python 骨架,具有适当的结构、调用签名和 return 值以对应于中指定的函数、属性、类 和方法一个模块。” -> 本例中的模块是 translation

如果您使用的是 Django 版本 > 2.2,ugettext_lazy 在 v2.2 中已弃用,在 django v3+ 中不再使用。查看你的 Django 文档中关于延迟翻译的版本,你可以尝试:

from django.utils.translation import gettext_lazy as _

我明白了,有两种简单的方法可以做到,一种是

从其他目录复制该行或函数或class并将其粘贴到他找到的目录

第二个是

例如在'import'之后使用*

from django.utils.translation import *

如图所示,其实vscode已经告诉我们这里导入的文件已经是错误的文件,不包含在这个包中。如前所述,如果不能确定要导入的内容,可以使用“*”。