django.utils.functional import wraps和functools import wrapps之间的功能有何不同?
即时通讯使用django 1.3和python 2.4.i想从发布数据中删除敏感信息,但django.views.decorators.debug仅在django 1.4中可用。所以我复制源代码并从{{3 }}。但是这个装饰器使用了python 2.4中没有的functools。所以我使用django.utils.functional import wrap而不是functools import wrapps.But仍然敏感信息出现在错误邮件中?有什么建议吗?
答案 0 :(得分:1)
我认为没有区别。对于不支持functools.wraps
的旧版Python,它可能是一个后端。
修改强>
实际上,由于最新的Django不支持任何不支持functools
的Python版本,我认为它只是留下了可能的依赖性问题(在Django或Django项目中)。它实际上甚至现在直接导入functools.wraps
:http://code.djangoproject.com/svn/django/trunk/django/utils/functional.py
答案 1 :(得分:1)
这是在5年前实现的,用Django装饰器来修复天真的内省:
http://code.djangoproject.com/ticket/5701
阅读错误详情,了解其背后的动机。
它被用作:
try:
from functools import wraps
except ImportError:
from django.utils.functional import wraps # Python 2.3, 2.4 fallback.