0

django1.4にエラーレポートのSensible情報を削除する機能があることを知っています。django1.3とpython2.4を使用しています。https: //docs.djangoproject.com/en/dev/howto/error-reporting/#filteringかどうかを知りたいです。 -error-reportsがdjango1.3とpython2.4に移植可能になりました。試しましたが成功しませんでした。助けてください。

4

1 に答える 1

0

sensitive_information デコレーターをローカルの decorators.py ファイルにコピーして使用します。

import functools


def sensitive_variables(*variables):
 """
 Indicates which variables used in the decorated function are sensitive, so
 that those variables can later be treated in a special way, for example
 by hiding them when logging unhandled exceptions.

 Two forms are accepted:

* with specified variable names:

    @sensitive_variables('user', 'password', 'credit_card')
    def my_function(user):
        password = user.pass_word
        credit_card = user.credit_card_number
        ...

* without any specified variable names, in which case it is assumed that
  all variables are considered sensitive:

    @sensitive_variables()
    def my_function()
        ...
"""
 def decorator(func):
    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if variables:
            wrapper.sensitive_variables = variables
        else:
            wrapper.sensitive_variables = '__ALL__'
        return func(*args, **kwargs)
    return wrapper
 return decorator

利用方法:

@sensitive_variables('user', 'pw', 'cc')
def my_view(request):
  pass

デフォルトではpython2.4に付属していないfunctools.pyも必要です(私は推測します)-そのファイルを個別に含める必要があるかもしれません。

于 2012-09-06T14:15:12.157 に答える