Как проверить тип объекта 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'>