Django rest api проблема разрешения с post и put
У меня проблема с запросами post и put. Мои запросы с axios в react:
handleSubmit() {
axios.post('http://127.0.0.1:8000/api/tasks/',{
headers:{"Authorization":`Token ${this.state.token}`},
author:this.state.id,
title:this.state.title,
desc:this.state.desc,
done:false,
})
.then(
response =>{console.log(response);}
)
.then(
()=>{window.location.reload(false);}
)
}
Все работает нормально, но когда я меняю AllowAny на IsAuthenticated в коде ниже:
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
],
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.TokenAuthentication',
]
}
я получаю ошибку, подобную этой
POST http://127.0.0.1:8000/api/tasks/ 403 (Forbidden)
dispatchXhrRequest @ xhr.js:210
xhrAdapter @ xhr.js:15
dispatchRequest @ dispatchRequest.js:58
request @ Axios.js:108
Axios.<computed> @ Axios.js:140
wrap @ bind.js:9
handleSubmit @ TaskCreate.js:41
onClick @ TaskCreate.js:73
callCallback @ react-dom.development.js:3945
invokeGuardedCallbackDev @ react-dom.development.js:3994
invokeGuardedCallback @ react-dom.development.js:4056
invokeGuardedCallbackAndCatchFirstError @ react-dom.development.js:4070
executeDispatch @ react-dom.development.js:8243
processDispatchQueueItemsInOrder @ react-dom.development.js:8275
processDispatchQueue @ react-dom.development.js:8288
dispatchEventsForPlugins @ react-dom.development.js:8299
(anonymous) @ react-dom.development.js:8508
batchedEventUpdates$1 @ react-dom.development.js:22396
batchedEventUpdates @ react-dom.development.js:3745
dispatchEventForPluginEventSystem @ react-dom.development.js:8507
attemptToDispatchEvent @ react-dom.development.js:6005
dispatchEvent @ react-dom.development.js:5924
unstable_runWithPriority @ scheduler.development.js:468
runWithPriority$1 @ react-dom.development.js:11276
discreteUpdates$1 @ react-dom.development.js:22413
discreteUpdates @ react-dom.development.js:3756
dispatchDiscreteEvent @ react-dom.development.js:5889
createError.js:16 Uncaught (in promise) Error: Request failed with status code 403
at createError (createError.js:16)
at settle (settle.js:17)
at XMLHttpRequest.onloadend (xhr.js:66)
Кроме того, запросы get работают корректно, даже если я изменю isAuthenticated.
const getTasks = () =>{ //this works fine
axios.get("http://127.0.0.1:8000/api/tasks/"+`user/${id}/`
,{headers:{"Authorization":`Token ${props.token}`}})
.then(
response => {
setTasks(response.data);
}
)
}
Я ищу ответ уже 4 дня и не могу получить никаких объяснений этой проблемы.