Каталог Django не совпадает с каталогом в VSCode

from django.utils.translation import ugettext_lazy

У меня проблема в этой строке в течение последних 2 часов Я пробую каждый метод, но не получается, но когда я проверил каталог django.utils.translation есть кто-то другой и каталог ugettext_lazy есть кто-то другой тем временем django.utils.translation искать ugettext_lazy в C:\Users\admin\AppData\Local\Programs\Python\Python310\Lib\site-packages\django\utils\translation_init_.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_init_.py

Как сделать так, чтобы это была одна и та же директория

enter image description here

enter image description here

Расширение i в конце файла означает, что файл является interface Вы можете прочитать больше в этом связанном вопросе . Один ответ гласит:

"Этот файл - просто скелет Python с соответствующей структурой, сигнатурой вызова и возвращаемыми значениями для соответствия функциям, атрибутам, классам и методам, указанным в модуле." -> Модуль в данном случае translation

Если вы используете Django версии > 2.2 ugettext_lazy был устаревшим в версии 2.2 и больше не используется в django v3+. Проверьте вашу версию документации Django относительно ленивого перевода, вы можете попробовать:

from django.utils.translation import gettext_lazy as _

Я понял это, есть два простых метода для этого, один из которых

скопируйте эту строку или функцию или класс из другой директории и вставьте ее в директорию, где он это нашел

Секунда -

используйте * после 'import' для примера

from django.utils.translation import *

enter image description here

Как показано на рисунке, на самом деле vscode сообщил нам, что импортируемый файл здесь уже является неправильным файлом, и он не включен в этот пакет. Как упоминалось выше, вы можете использовать "*", если не можете убедиться, что содержимое импортируется.

Вернуться на верх