Django.utils.datastructures.MultiValueDictKeyError: 'title' django
views.py
class ProductsCreate(CreateView):
model = Products
template_name = "productscreate.html"
serializer = Productserialize
success_url=reverse_lazy('productslist')
def productsAdd(request):
if request.method == "POST":
product=Products()
product.title = request.POST['title']
product.description = request.POST['description']
product.image = request.FILES.get('image')
product.save()
return render(request,'productslist.html')
else:
return render(request,'productscreate.html')
form.html
<form data-bind="submit: save" enctype="multipart/form-data" >
{% csrf_token %}
<table border="1">
<tr>
<td>Title:
<input type="text" name="title" id="title" data-bind="text: $data.title"></td>
<br>
</tr>
<tr>
<td>Description:
<textarea name="description" id="description" data-bind="text: $data.description">Description</textarea></td>
<br>
</tr>
<tr>
<td>Image:
<input type="file" name="image" id="image" ></td>
<br>
</tr>
<tr>
<td><button type="button" id="submit" data-bind="click: save">Submit</button></td>
</tr>
</table>
</form>
<script>
var ViewModel = function () {
var self = this;
self.title = ko.observable("");
self.description = ko.observable("");
self.save = function () {
var formdata = new FormData();
formdata.append('image', $('#image')[0].files[0]);
// formdata.append('title', ko.observable(""));
// formdata.append('description', ko.observable(""));
formdata = {
title: self.title,
description: self.description,
};
console.log(formdata)
$.ajax({
type: 'POST',
url: "{% url 'productsadd' %}",
data: formdata,
headers: {'X-CSRFToken': csrftoken},
processData: false,
contentType: false,
success: function (data){
alert('The post has been created!')
window.location = '{% url "productslist" %}';
},
error: function () {
alert("fail");
}
});
};
};
ko.applyBindings(new ViewModel())
</script>
Когда я создаю новую форму, она показывает ошибку multidict key в заголовке, я не знаю, где проблема в заголовке. Я задал то же самое html имя в представлении, но оно показывает ошибку. Я привел код html и код представления, пожалуйста, проверьте. Я пробовал много раз, но не могу убрать эту ошибку. Пожалуйста, помогите мне решить эту проблему Заранее спасибо