Не распознавание пользователя после получения запроса от React
После отправки данных в json я хочу сохранить данные, все данные получены нормально, но он не распознает пользователя, хотя он действительно подключен согласно тестам, которые я сделал. я получаю эту ошибку: ValueError: Cannot assign "<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x106fd12d0>>": "Vendors.user" должен быть экземпляром "User".
но пользователь вошел в систему.
view.py:
@csrf_exempt
def store_register(request):
if request.method == 'POST':
form = json.loads(request.body)
print(request.user,form)
vendor = Vendors.objects.create(user=request.user,store_name=form['storeName'],company_name=form['companyName'],img=form['storeImage'],business_email=form['businessEmail'],pay_pal=form['payPalEmail'])
vendor.save()
return JsonResponse({'test':'test'})
реагировать:
class RegisterBody extends React.Component {
constructor (props) {
super (props);
this.state = {
url: ''
}
}
SendInput = () => {
const storeName = document.getElementById('storeName').value
const companyName = document.getElementById('companyName').value
const storeImage = document.getElementById('storeImage').value
const businessEmail = document.getElementById('businessEmail').value
const payPalEmail = document.getElementById('payPalEmail').value
this.setState({storeName:storeName,companyName:companyName,storeImage:storeImage,businessEmail:businessEmail,payPalEmail:payPalEmail})
fetch('/store-register', {
method: 'POST',
body: JSON.stringify({
'storeName':storeName,
'companyName':companyName,
'storeImage':storeImage,
'businessEmail':businessEmail,
'payPalEmail':payPalEmail
}),
headers: {
'Content-type': 'application/json; charset=UTF-8'
},
})
}
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>Business Email</label>
<input type={"email"} name={"businessEmail"} id={"businessEmail"}></input>
<br></br>
<label>Paypal Email</label>
<input type={"email"} name={"payPalEmail"} id={"payPalEmail"}></input>
<br></br>
<button onClick={() => this.SendInput()}>Register</button>
</div>
)
}
}
export default RegisterBody