Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 19, 2022 21:57:41

SwanAvs
Зарегистрирован: 2022-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как мне исправить ошибку AttributeError: module 'django.http.request' has no attribute?

Мне нужно вызвать функцию(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)

В результате чего выводятся следующие ошибки:
AttributeError: module ‘django.http.request’ has no attribute ‘user’
AttributeError: module ‘django.http.request’ has no attribute ‘body’

Если не передавать при вызове request, то будет TypeError: fanc() missing 1 required positional argument: ‘request’

Как мне исправить AttributeError?

Офлайн

#2 Апрель 19, 2022 22:25:19

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Как мне исправить ошибку AttributeError: module 'django.http.request' has no attribute?

Попробуй имя request заменить на имя req в этом фрагменте кода.



Отредактировано py.user.next (Апрель 19, 2022 22:25:48)

Офлайн

#3 Апрель 20, 2022 06:43:31

SwanAvs
Зарегистрирован: 2022-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как мне исправить ошибку AttributeError: module 'django.http.request' has no attribute?

py.user.next
Попробуй имя request заменить на имя req в этом фрагменте кода.
Все тоже самое:

 def fanc(req):
    data = json.loads(req.body)
    return HttpResponse(status=200)
fanc(req)

NameError: name ‘req’ is not defined

AttributeError: module ‘pip._internal.req’ has no attribute ‘body’

Офлайн

#4 Апрель 20, 2022 10:21:35

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Как мне исправить ошибку AttributeError: module 'django.http.request' has no attribute?

Скинь полный код. Оставь в нём req.



Офлайн

#5 Апрель 20, 2022 15:11:50

SwanAvs
Зарегистрирован: 2022-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как мне исправить ошибку AttributeError: module 'django.http.request' has no attribute?

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) # строка, вызывающая ошибки

Офлайн

#6 Апрель 20, 2022 15:42:04

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Как мне исправить ошибку AttributeError: module 'django.http.request' has no attribute?

SwanAvs
  
fanc(req) # строка, вызывающая ошибки
Интерпретатор не видит req нигде, кроме внутренней части функции fanc(). Вот то, что ты этого не понимаешь, и вызывает вопросы. А ты знаешь, что такое область видимости имени?
Так что, скорее всего, там 100500 ошибок в той части кода, которую ты не выложил здесь, так как ты даже не знаешь основ каких-то, не говоря уже о глубоких знаниях или знании какой-то специфики работы с Django.



Офлайн

#7 Апрель 20, 2022 15:58:19

SwanAvs
Зарегистрирован: 2022-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как мне исправить ошибку AttributeError: module 'django.http.request' has no attribute?

py.user.next
Я знаю, что такое область видимости, а функцию пытаюсь вызвать для использования ее переменных, так как сохранить их в бд или получить через сессии не получится.

Офлайн

#8 Апрель 20, 2022 16:27:41

SwanAvs
Зарегистрирован: 2022-01-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как мне исправить ошибку AttributeError: module 'django.http.request' has no attribute?

Так могу ли я как-то вызвать функцию?

Офлайн

#9 Апрель 20, 2022 16:43:05

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Как мне исправить ошибку AttributeError: module 'django.http.request' has no attribute?

SwanAvs
Я знаю, что такое область видимости
Не знаешь. Если бы ты знал, ты бы не обращался к req вне его области видимости. А ты это делаешь.



Офлайн

#10 Апрель 20, 2022 16:46:14

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1359
Репутация: +  119  -
Профиль   Отправить e-mail  

Как мне исправить ошибку AttributeError: module 'django.http.request' has no attribute?

SwanAvs
fanc(req) # строка, вызывающая ошибки
в каком месте кода ты получаешь данные платежа от платежной системы?
может что-то типа
req = request.get('url')

и потом этот req передаешь в функцию для обработки
fanc(req)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version