问题描述
我正在尝试使用axios更新我的Django模型,并且我将数据作为表单数据发送。我想使更改字段为可选时使用PATCH方法。但是,这无法正常工作,并且出现400 Bad Request
错误。后端中还包含DRF序列化程序和APIview。我可以通过表单更新的唯一字段是我的imagefield。什么会导致错误?
如何发送表单数据:
handleFormSubmit = (event) => {
event.preventDefault();
let form_data = new FormData();
form_data.append('name',event.target.elements.name.value);
form_data.append('email',event.target.elements.email.value);
form_data.append('location',event.target.elements.location.value);
form_data.append('sport',this.state.sport);
form_data.append('image',this.state.file);
const profileID = this.props.token
let url = `http://127.0.0.1:8000/api/profile/${profileID}/update`
axios.patch(url,form_data,{
headers: {
'content-type': 'multipart/form-data'
}
})
.then(res => console.log(res))
.catch(error => console.err(error));
}
在我的UpdateAPIView中,我也有应该处理问题的parser_classes,但是没有
class ProfileViewUpdate(generics.UpdateAPIView):
queryset = Profile.objects.all()
serializer_class = ProfileSerializer
lookup_field = 'token'
lookup_url_kwarg = 'pk'
parser_classes = (MultiPartParser,FormParser)
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)