Я использую django и ajax для отправки формы, но когда форма недействительна, она не отображается.
# views.py
class ProductCreateView(LoginRequiredMixin, CreateView):
model = Product
template_name = "products/my_products.html"
form_class = AddNewProductForm
def form_valid(self, form):
obj = form.save(commit=False)
obj.user = self.request.user
obj.save()
return JsonResponse({"msg": "Your product was created successfully."})
def form_invalid(self, form):
return render(self.request, "products/add_new_product.html", {"form": form}, status=400)
saveNewProductButton.on("click", function () {
var addNewProductForm = $(".add-new-product-form");
$.ajax({
type: 'POST',
url: '/product/new/',
data: addNewProductForm.serialize(),
success: function(res){
alert(res['msg']);
location.reload();
},
error: function (res) {
var newProductPlaceHolder = $("#new-product-form-placeholder");
newProductPlaceHolder.html(res);
}});
});
Res отображается в консоли с использованием Chrome, но не на странице.