У меня есть два вопроса, которые коррелируют.
1) Есть ли у django -rest-framework возможность ссылаться на пользователя глобально?
2) Есть ли django / python позвольте мне изменить общий класс исключений c для включения этого идентификатора пользователя в качестве мета каждый раз, когда он выдает?
Я знаю, что могу создавать собственные классы исключений и вызывать их в коде, но как насчет исключения, которое я не правильно обрабатывать? Например, допустим, исключение делится на ноль, но я неправильно его обработал, сейчас мои журналы просто говорят «Делить на ноль исключений». Есть ли способ обновить это глобально, чтобы, если пользователь вошел в систему, было написано «Делить на ноль исключений для user_id {id}«?
class SomeExternalApiHelper:
@staticmethod
def do_api_call():
url = 'https://example.com'
# do api request
try:
home_value = 100 / 0
except Exception as e:
# Exception occurs here, I want to be able to reference user_id, without having
# to pass the user_object all the way down into this call
raise Exception("Something went wrong for user ID {0}".format(user_id))
class AddNewHouse(APIView):
def post(self, request, format=None):
# I can call request.user here and access the user object
SomeExternalApiHelper.do_api_call()