當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。