Представление ... не вернуло объект HttpResponse. Вместо этого он вернул None - django
Я пробовал несколько способов решить проблему, но не смог... каждый раз я получал ошибку. Элемент добавлен в БД, но на страницу возвращается сообщение об ошибке. Почему "get_absolute_url" и "success_url" не работают?
View
class AddItemView(CreateView):
model = Add_Item
form_class = AddItemForm
template_name ='add_item.html'
success_url = reverse_lazy("home")
def form_valid(self, form):
self.object = form.save(commit=False)
# Add_Item.User = User
self.object.user = self.request.user
self.object.save()
Модели
class Add_Item(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE, default=None,
null=True)
title = models.CharField(max_length=255)
categories = models.CharField(max_length=255 , choices=all_categories)
description = RichTextField(blank=True,null=True)
condition = models.CharField(max_length=100, choices=cond)
city = models.CharField(max_length=50, choices=cy.city, blank=True)
street = models.CharField(max_length=100, blank=True)
home_number = models.CharField(max_length=100, blank=True)
header_img = models.ImageField(null=True, blank=True, upload_to='img/')
more_img = models.ImageField(null=True, blank=True, upload_to='img/')
Pub_date = models.DateField(auto_now_add=True)
def __str__(self):
return str(self.title)
def get_absolute_url(self):
return reverse('home')
Из документации:
def form_valid(self, form):
# This method is called when valid form data has been POSTed.
# It should return an HttpResponse.
return super().form_valid(form)
Вам нужно добавить строку возврата.