Форум сайта python.su
Мне нужно вызвать функцию(view) в Django, однако это вызывает ошибку.
def fanc(request): non, created = Order.objects.get_or_create(user=request.user) # no attribute user data = json.loads(request.body) # no attribute body . . . return HttpResponse(status=200) fanc(request)
Офлайн
Попробуй имя request заменить на имя req в этом фрагменте кода.
Отредактировано py.user.next (Апрель 19, 2022 22:25:48)
Офлайн
py.user.nextВсе тоже самое:
Попробуй имя request заменить на имя req в этом фрагменте кода.
def fanc(req): data = json.loads(req.body) return HttpResponse(status=200) fanc(req)
Офлайн
Скинь полный код. Оставь в нём req.
Офлайн
py.user.next
Скинь полный код. Оставь в нём req.
def fanc(req): # функция, которая принимает данные платежа от платежной системы data = json.loads(req.body) print(data) notification_object = WebhookNotificationFactory().create(event_json) response_object = notification_object.object # request.session['status'] = "succeed" if notification_object.event == WebhookNotificationEventType.PAYMENT_SUCCEEDED: some_data = { 'paymentId': response_object.id, 'paymentStatus': response_object.status, } return HttpResponse(status=200) fanc(req) # строка, вызывающая ошибки
Офлайн
SwanAvsИнтерпретатор не видит req нигде, кроме внутренней части функции fanc(). Вот то, что ты этого не понимаешь, и вызывает вопросы. А ты знаешь, что такое область видимости имени?fanc(req) # строка, вызывающая ошибки
Офлайн
py.user.nextЯ знаю, что такое область видимости, а функцию пытаюсь вызвать для использования ее переменных, так как сохранить их в бд или получить через сессии не получится.
Офлайн
Так могу ли я как-то вызвать функцию?
Офлайн
SwanAvsНе знаешь. Если бы ты знал, ты бы не обращался к req вне его области видимости. А ты это делаешь.
Я знаю, что такое область видимости
Офлайн
SwanAvsв каком месте кода ты получаешь данные платежа от платежной системы?
fanc(req) # строка, вызывающая ошибки
Офлайн