Найти - Пользователи
Полная версия: Как мне исправить ошибку AttributeError: module 'django.http.request' has no attribute?
Начало » Python для новичков » Как мне исправить ошибку AttributeError: module 'django.http.request' has no attribute?
1 2
SwanAvs
Не знаешь. Если бы ты знал, ты бы не обращался к req вне его области видимости. А ты это делаешь.
Мне известны глобальные и локальные переменные. И можно было бы пробовать с глобал(хоть это и плохо), но тут опять мешает вызов функции.

SwanAvs
в каком месте кода ты получаешь данные платежа от платежной системы?
 data = json.loads(req.body)

xam1816
может это натолкнет на понимание сути вашей проблемы

 

def func(имя_аргумента):
print(имя_аргумента)

переменная = 33

func(переменная) # выведет в консоль 33

func(имя_аргумента) # выведет Ошибку, что имя_аргумента не найдено, потому что "имя_аргумента" в скобочках функции и "имя_аргумента" за пределами функции - это разные понятия

т.е

#request должен быть определен ранее в коде
req = чему либо

fanc(req)

перечитайте что такое функция еще раз
SwanAvs
xam1816
может это натолкнет на понимание сути вашей проблемы
Это понятно.
У меня главная проблема - has no attribute ‘body’, которая ссылается на переменную data при попытке вызвать функцию. Какие конкретное значение должен иметь req?
xam1816
главная проблема в том что у тебя очень мало опыта и тебе нужно попрактиковаться на задачах попроще.

SwanAvs
Какие конкретное значение должен иметь req?

библиотека request тебе о чем нибудь говорит? может какой-нибудь post запрос делается, где передаются {key: value}, которые с помощью метода body можно получить. Если не понятно про что я говорю, то значит еще не прочитано много инфы по программированию и python и web
py.user.next
SwanAvs
Мне известны глобальные и локальные переменные.
В данном случае req - это локальная переменная, а вызовом fanc(req) ты обращаешься глобально к этой локальной переменной. Она не видна нигде кроме внутренностей функции fanc().

Вообще, я имею в виду не это. Это-то неважно всё. Я имею в виду, что ты взялся что-то делать, а сам не понимаешь архитектуры приложения даже. Поэтому-то ты не можешь правильный запрос сделать и правильный ответ выдать на него.

Видимо, ты наскоряк пытаешься что-то сварганить. А в программировании такой способ не работает. Программирование - это не тяп-ляп; сначала надо думать, потом простраивать варианты, а только потом уже можно реализовать какой-то самый оптимальный вариант. Тогда есть большая вероятность, что код получится и будет работать правильно во всех закутках.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB