0

I tried several ways to solve the problem but I couldn't .. every time I got it error. Item added to DB but error message returned on page. why "get_absolute_url" and "success_url" do not work?

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() 

Models

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') 

1 Answer 1

1

From the docs:

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) 

You need to add the return line.

Sign up to request clarification or add additional context in comments.

Comments