Передача данных JSON из React в Django с помощью POST-запроса

Я пытаюсь передать информацию с помощью POST, но получаю запрос в OPTIONS. запрос - "OPTIONS /store-register HTTP/1.1" 200 13.

когда я меняю в views.py request.method == 'POST' на: request.method == 'OPTIONS', я получаю "Broken pipe from ('127.0.0.1', 61126)"

Я не могу разобраться в проблеме.

view.py:

@csrf_exempt
def store_register(request):
    if request.method == 'POST':
        form = json.loads(request.body)
        vendor = Vendors.objects.create(store_name=form['storeName'],company_name=form['companyName'],img=form['storeImage'],business_email=form['storeEmail'],pay_pal=form['payPalEmail'])
        vendor.save()
    return JsonResponse({'user': 'testONly'})

Реакция компанента:

class StoreRegister extends React.Component {
    constructor(props) {
        super (props);
        this.state = {
            acceps: ''

        }
    }

    getAndSendInput = () => {
        const storeName = document.getElementById('storeName').value
        const companyName = document.getElementById('companyName').value
        const storeImage = document.getElementById('storeImage').value
        const storeEmail = document.getElementById('storeEmail').value
        const payPalEmail = document.getElementById('payPalEmail').value
        this.setState({storeName: storeName,companyName: companyName,storeImage: storeImage, storeEmail: storeEmail,payPalEmail: payPalEmail})
        fetch('http://127.0.0.1:8000/store-register', {
            method: "POST",
            body: JSON.stringify ({
                'storeName':storeName,
                'companyName':companyName,
                'storeImage':storeImage,
                'storeEmail':storeEmail,
                'payPalEmail':payPalEmail
            }),
            headers: new Headers ({'Content-type': 'application/json; charset=UTF-8'})
        })
        console.log(storeName,companyName,storeImage, storeEmail,payPalEmail)
    }


    render () {
        return (
            <div>
            <label>Store Name</label>
            <input type={"text"} name={"storeName"} id={"storeName"}  ></input>
            <br></br>
            <label>Company Name</label>
            <input type={"text"} name={"companyName"} id={"companyName"} ></input>
            <br></br>
            <label>Store Image</label>
            <input type={"file"} name={"storeImage"} id={"storeImage"}></input>
            <br></br>
            <label>Store Email</label>
            <input type={"email"} name={"storeEmail"} id={"storeEmail"} ></input>
            <br></br>
            <label>Pay Pal Email</label>
            <input type={"email"} name={"payPalEmail"} id={"payPalEmail"}></input>
            <br></br>
            <button onClick={() => this.getAndSendInput()}>Register</button>
            </div>
        )
    }
}


export default StoreRegister
Вернуться на верх