Я пытаюсь получить данные из данных из бэкенда django в react, но продолжаю получать TypeError: get() missing 1 required positional argument: 'pk'.
У меня есть две проблемы. Я пытаюсь получить данные из django, которые содержат изображения и содержимое. Первая проблема заключается в том, правильно ли использовать "Content-Type": "application/json" является правильным. Последняя и основная проблема заключается в том, что я получаю: TypeError: get() missing 1 required positional argument: 'pk'. В чем может быть проблема? Ниже приведен код:
import React, { useEffect, useState} from 'react'
import axios from 'axios'
const GetPostData = () => {
const [postState, setPostState] = useState({
loading: true,
posts: null
})
const config = {
headers: {
"Content-Type": "application/json",
Authorization: `JWT ${localStorage.getItem("access")}`,
Accept: "application/json",
},
};
useEffect(()=> {
const res = axios.get(
`${process.env.REACT_APP_API_URL}/api/list/PostView/`,
config
);
const allPosts = res.data
setPostState({loading: false, posts: allPosts})
console.log(res.data)
}, [setPostState])
return (
<div className='container'>
<h1>Latest Posts</h1>
<div>
</div>
</div>
)
}
export default GetPostData
Ошибка возникла из-за того, что я передавал pk как param в методе put. Я получил решение из этого сообщения: missing 1 required positional argument: 'pk'. Этой ошибки можно избежать, используя также миксин фреймворка REST:
class ListingView(mixins.ListModelMixin, generics.GenericAPIView):
queryset = PostList.objects.all()
serializer_class = PostListSerializer
def get(self, request, *args, **kwargs):
return self.list(request, *args, **kwargs)