Почему я не могу получить имя переменной из 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 и импортировать оттуда или импортировать из файла прямо в функции (если файл может измениться - прочитайте его во время выполнения).

Как использовать env файлы в Django

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