IIS не может получить доступ к недавно добавленным файлам в проекте django
В проекте django, который обслуживается IIS (windows), я добавил локальный файл test.py. Проект прекрасно работал раньше и по-прежнему прекрасно работает на localhost, однако IIS, похоже, не распознает новый файл test.py. Похоже, что IIS не может получить доступ к этому файлу, даже если пользователи IUSR и IIS_USRS имеют полный доступ (как и для всех других файлов в папке).
Я получаю следующее сообщение об ошибке, а иногда и такое же, но "Нет модуля с именем 'app.test'. Удаление "import app.test as test" в views.py решает проблему. Удивительно, но "import app.oldFile as oldFile" работает без проблем.
В моем файле views.py я импортирую скрипты python следующим образом
import app.oldFile as oldFile
import app.test as test
Мой проект django имеет структуру:
djangoRest
-app
--__init__.py
--views.py
--oldFile.py
--test.py
-djangoRest
--__init__.py
--settings.py
--urls.py
--wsgi.py
Я нашел причину и решение.
В предыдущем файле импорта oldFile.py я использую строку
import os
os.chdir(r\\some\\other\\directory\\)
Это, очевидно, изменяет текущий рабочий каталог, в результате чего другой файл test.py не может быть найден и не может быть импортирован.
Эта ошибка не имеет значения при тестировании django на localhost, но проявляется только при обслуживании IIS.