POST http://localhost:8000/api/posts/ 500 (Внутренняя ошибка сервера)
Я не могу избавиться от этой ошибки:
POST http://localhost:8000/api/posts/ 500 (Внутренняя ошибка сервера)
Я использую react frontend с django rest api backend. Я пытаюсь загрузить несколько изображений одновременно из формы ввода. Раньше это работало с немного другим кодом для одного изображения. Может быть, есть идеи? Вот мой код:
class App extends Component {
state = {
images: null
};
handleImageChange = (e) => {
this.setState({
images: e.target.files
})
};
handleSubmit = (e) => {
e.preventDefault();
console.log(this.state);
let form_data = new FormData();
for (var i = 0; i < this.state.images.length; i++) {
form_data.append('image[]', this.state.images[i]);
}
let url = 'http://localhost:8000/api/posts/';
axios.post(url, form_data, {
headers: {
'content-type': 'multipart/form-data'
}
})
.then(res => {
console.log(res.data);
})
.catch(err => console.log(err))
};
render() {
return (
<div className="App">
<form onSubmit={this.handleSubmit}>
<p>
<input type="file"
id="image"
accept="image/png, image/jpeg" multiple onChange={this.handleImageChange} required/>
</p>
<input type="submit"/>
</form>
</div>
);
}
}
export default App;
class PostView(APIView):
parser_classes = (MultiPartParser, FormParser)
def get(self, request, *args, **kwargs):
posts = Post.objects.all()
serializer = PostSerializer(posts, many=True)
return Response(serializer.data)
def post(self, request, *args, **kwargs):
posts_serializer = PostSerializer(data=request.POST.getlist('image[]'))
for onepost in posts_serializer:
if onepost.is_valid():
onepost.save()
return Response(onepost.data, status=status.HTTP_201_CREATED)
else:
print('error', onepost.errors)
return Response(onepost.errors, status=status.HTTP_400_BAD_REQUEST)