Как проверить тип объекта reverse_lazy() в django

Я хочу сделать следующее:

u=reverse_lazy('xyz')
isinstance(u,str) # this is false since u is an object.

type(u) # <class 'django.utils.functional.lazy.<locals>.__proxy__'>

isinstance(u,<class 'django.utils.functional.lazy.<locals>.__proxy__'>) # doesnt work

Выполнив u.__dict__, вы получите следующий диктант:

{'_proxy____args': ('xyz',), '_proxy____kw': {}}

С помощью этого вы можете получить начальные аргументы, а затем получить их типы.

u=reverse_lazy('xyz')

initial_arg = u._proxy____args[0]

print(initial_arg)
# 'xyz'

print(type(initial_arg))
# <class 'str'>
Вернуться на верх