/update_item/ 'WSGIRequest' 处的 AttributeError 对象没有属性 'data'

AttributeError at /update_item/ 'WSGIRequest' object has no attribute 'data'

我试图使用 django 制作我的第一个电子商务网站,但我收到了这个错误。 我已经在 google 中进行了搜索,但找不到修复方法。请帮我找出错误。 这是附加的。如果缺少任何数据,请评论。

cart.js :

var updateBtns = document.getElementsByClassName('update-cart')

for (var i = 0; i < updateBtns.length; i++) {
    updateBtns[i].addEventListener('click', function () {
        var productId = this.dataset.product`enter code here`
        var action = this.dataset.action
        console.log('productId:', productId, 'Action:', action)

        console.log('USER:', user)
        if (user == 'AnonymousUser') {
        console.log('Not logged in')

        } else {
            updateUserOrder(productId)
        }
    })
}


function updateUserOrder(productId, action) {
    console.log('User is logged in, sending data...')

    var url = '/update_item/'

    fetch(url, {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'X-CSRFToken': csrftoken,
        },
        body: JSON.stringify({ 'productId': productId, 'action': action })
    })
        .then(response => response.json())
        .then((data) => {
            console.log('data:', data);
        }
        );
}


views.py :



from django.shortcuts import render
from django.http import JsonResponse
from django.http import HttpRequest

import json

from .models import *


def store(request):
    products = Product.objects.all()
    context = {'products': products}
    return render(request, 'store/store.html', context)


def cart(request):

    if request.user.is_authenticated:
        customer = request.user.customer
        order, created = Order.objects.get_or_create(
            customer=customer, complete=False)
        items = order.orderitem_set.all()
    else:
        # Create empty cart for now for non-logged in user
        items = []
        order = {'get_cart_total': 0, 'get_cart_items': 0}

    context = {'items': items, 'order': order}
    return render(request, 'store/cart.html', context)


def checkout(request):
    if request.user.is_authenticated:
        customer = request.user.customer
        order, created = Order.objects.get_or_create(
            customer=customer, complete=False)
        items = order.orderitem_set.all()
    else:
        # Create empty cart for now for non-logged in user
        items = []
        order = {'get_cart_total': 0, 'get_cart_items': 0}

    context = {'items': items, 'order': order}
    return render(request, 'store/checkout.html', context)


def updateItem(request):
    data = json.loads(request.data)
    productId = data['productId']
    action = data['action']

    print('Action:', action)
    print('productId:', productId)
    return JsonResponse('Item was added', safe=False)'''
def updateItem(request):
    data = json.loads(request.data)

request.data 可用 in Django rest framework,但在常规 Django 视图中不存在。

更改视图以使用 request.body

def updateItem(request):
    data = json.loads(request.body)