当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django sensitive_variables用法及代码示例


本文介绍 django.views.decorators.debug.sensitive_variables 的用法。

声明

sensitive_variables(*variables)

如果代码中的函数(视图或任何常规回调)使用容易包含敏感信息的局部变量,则可以使用 sensitive_variables 装饰器阻止这些变量的值包含在错误报告中:

from django.views.decorators.debug import sensitive_variables

@sensitive_variables('user', 'pw', 'cc')
def process_info(user):
    pw = user.pass_word
    cc = user.credit_card_number
    name = user.name
    ...

在上面的示例中,userpwcc 变量的值将被隐藏并在错误报告中替换为星号 (**********),而 name 变量的值将被公开.

要从错误日志中系统地隐藏函数的所有局部变量,请不要向 sensitive_variables 装饰器提供任何参数:

@sensitive_variables()
def my_function():
    ...

使用多个装饰器时

如果您要隐藏的变量也是函数参数(例如,以下示例中的“user”),并且装饰函数具有多个装饰器,则确保将 @sensitive_variables 放在装饰器链的顶部。这样它也将隐藏函数参数,因为它通过其他装饰器传递:

@sensitive_variables('user', 'pw', 'cc')
@some_decorator
@another_decorator
def process_info(user):
    ...

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.views.decorators.debug.sensitive_variables。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。