Внутренняя часть Django не отправляет ответное сообщение обратно на переднюю часть React
В настоящее время я работаю над проектом электронной коммерции с использованием django и react. Я закончил создание маршрута создания заказа, и он работает нормально в плане добавления заказа и orderItem в базу данных. (Я проверяю из панели администратора). Однако проблема в том, что по какой-то причине я не могу увидеть ответ на передней стороне, хотя я возвращаю его.
Это мой компонент react, выполняющий запрос PlaceOrder.jsx
const handleCreateOrder = async () => {
let body = {};
body.user = userContextEmail;
body.totalPrice = totalPrice;
body.shippingAddress = shippingAddressString;
const items = {};
for (let i = 0; i < cart.length; i++) {
let itemId = cart[i].id;
let itemQuantity = cart[i].quantity;
items[itemId] = itemQuantity;
body.items = items;
}
let response = await fetch("http://127.0.0.1:8000/base/orders/create", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(body),
});
let result = await response.json();
console.log(result.data); // NOTHING BEING DISPLAYED ON MY CONSOLE
};
urls.py
path('orders/create', order_views.createOrder)
order_views.py
@api_view(['POST'])
def createOrder(request):
data = request.data
# print(data)
profile = Profile.objects.get(username=data['user'])
totalPrice = data['totalPrice']
shippingAddress = data['shippingAddress']
try:
order = Order.objects.create(
profile = profile,
totalPrice = totalPrice,
shippingAddress = shippingAddress
)
except:
message = {'detail': 'An error has occured during order creation'}
return Response(message, status=status.HTTP_400_BAD_REQUEST)
for item in data['items']:
product = Product.objects.get(id=item)
quantity = data['items'][item]
try:
OrderItem.objects.create(
order = order,
product = product,
quantity = quantity
)
except:
message = {'detail': 'An error has occured during order item creation'}
return Response(message, status=status.HTTP_400_BAD_REQUEST)
message = {'detail': 'Order succesfully created'}
return Response(message, status=status.HTTP_201_CREATED)
Маршрут работает идеально, как и предполагалось, но проблема в том, что я хочу вывести ответ на передний план, чтобы убедиться, что я могу поймать ошибку.
Я бы подумал, что последняя строка в моем компоненте react
console.log(result.data);
должен отображать следующие объекты
{'detail': 'An error has occured during order item creation'}
Может ли кто-нибудь здесь случайно обнаружить ошибку?
Спасибо!