Django получить путь к модулю в shell
Я работаю над очень большим проектом, который состоит из множества модулей, вот в чем трудность, иногда я добавляю print в определенную строку определенного файла, в целях тестирования. после сборки, я запускаю файл из shell, и там есть строка, которая появляется из ниоткуда в моей командной строке (ну, не совсем ниоткуда, я забыл, где я добавил print), мне нужен более сильный вывод, как:
print('test')
# test flags/urls.py 348
поэтому я строю функцию put,
from inspect import currentframe
def put(value):
frameinfo = currentframe()
location = 'path to this module'
print(f'{value} {location} {frameinfo.f_back.f_lineno}')
put({'name': 'jason'})
# {'name': 'jason'} path to this module 9
когда я попытался разработать путь, произошло нечто неожиданное.
flags/test.py
print(__file__)
# /Applications/MAMP/htdocs/canvas/src/zzd/env/lib/python3.7/site-packages/django/core/management/commands/shell.py
оболочка
(env) 🌹 python manage.py shell < '/Applications/MAMP/htdocs/canvas/src/zzd/zzd/flags/tests.py'
/Applications/MAMP/htdocs/canvas/src/zzd/env/lib/python3.7/site-packages/django/core/management/commands/shell.py
оказывается, что он всегда возвращает путь shell.py, вместо пути к файлу моего модуля. Интересно, почему так происходит, буду очень благодарен за помощь.