Почему я не могу получить имя переменной из Django
У меня есть проект Django, над которым я работаю. Мне нужно вывести кое-что в CLI, чтобы облегчить отладку.
Это то, что мне нужно
print('============================================')
print('VARIABLE_NAME_IN_CAPS')
print(variable)
print(f'LENGTH : {len(variable)}')
print('============================================')
это моя функция для получения имени переменной. Здесь я получил сниппет
def get_variable_name(variable):
globals_dict = globals()
return [var_name for var_name in globals_dict if globals_dict[var_name] is variable]
Но когда я вызвал функцию, я получил пустой массив []
. Я попробовал сделать это без функции и провести отдельный тест в другом файле, и он сработал. Есть ли что-нибудь, что предотвращает это в Django?
В Django не следует использовать globals()
, если это действительно необходимо. Вместо этого используйте переменные окружения, которые можно задать в settings.py и импортировать оттуда или импортировать из файла прямо в функции (если файл может измениться - прочитайте его во время выполнения).