Изображение Django Rest Framework с плохим запросом с помощью Axios и Expo
Я пытаюсь загрузить изображение в мой Django APÌ через форму в expo, но я продолжаю получать ошибку 400. Это для поста в стиле социальной ленты с изображением и текстом.
Это модель:
class Post(models.Model):
user = models.ForeignKey(User, related_name="post_creator", on_delete=models.CASCADE)
text = models.CharField(max_length=900, blank = True, null = True)
image = models.ImageField(blank = True, null = True, upload_to = post_directory_path)
likes = models.ManyToManyField(User, blank = True)
comments = models.ManyToManyField(Comment, blank = True)
def __str__(self):
return f"{self.user}: {self.text}"
Сериализатор:
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = "__all__"
Views.py: (permission_classes закомментирован в целях тестирования)
class PostList(generics.ListCreateAPIView):
# permission_classes = (IsAuthenticated, )
serializer_class = PostSerializer
queryset = Post.objects.all()
parser_classes = (MultiPartParser, FormParser)
вот моя функция к самому посту, в Expo:
const postData = async () => {
try {
const formData = new FormData()
formData.append('image', image)
formData.append('user', 2) // 2 here is just for testing purposes
formData.append('text', text)
console.log(formData)
const resp = await authAxios.post('posts/', formData, {
headers: {
"Content-Type": "multipart/form-data",
}})
console.log(resp.data)
setText('')
setImage(null)
} catch (error) {
console.error(error)
}
}
Я перепробовал много всего, но безуспешно, я использую expo-image-picker. Спасибо!