我多次偶然发现一个django.utils.functional.__proxy__
对象,最后一次是在下面的代码中:
def formfield_for_choice_field(self, db_field, request, **kwargs):
print db_field.help_text
(打印结果为<django.utils.functional.__proxy__ object at 0x7fc6940106d0>
)
现在,为什么这些东西被包裹在这个物体上?它的主要目的是什么?更重要的是,如何访问代理对象后面的值?我查看了Django的源代码,看到了一些关于惰性计算的东西,但是有太多的包装器和包装对象,无法完全理解发生了什么。如有任何细节,将不胜感激。
它是一个转换字符串-一个标记为已转换的字符串,但其实际转换结果在对象在字符串中使用之前无法确定。请参阅Django文档:https://docs.djangoproject.com/en/dev/ref/unicode/#translated-strings。
调用
unicode(object)
将生成Unicode字符串。另外,如果调用对象的__dict__
,可以在_proxy____args
下找到它的数据。相关问题 更多 >
编程相关推荐