django - 视图...没有返回 HttpResponse 对象。它返回 None 代替 - django
问题描述
我尝试了几种方法来解决这个问题,但我不能..每次我得到它错误。项目已添加到数据库,但页面上返回错误消息。为什么“get_absolute_url”和“success_url”不起作用?
看法
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)
您需要添加退货行。
推荐阅读
- mysql - Prestashop webapi 通过 Web API 重置 mysql 缓存或通过 Presta Web Service API 调用 SQL
- java - 无法使用 annox 向生成的 Java 类添加 JAXB 注释 - SAXParseException2
- google-apps-script - DateField.getYear() 返回不正确的年份
- python - 启动后尝试使用 systemd 运行服务
- r - 如何识别分布的右尾截止?
- node.js - 在节点 js 中发送推送通知时出错
- python - Python - 显示/获取 jason 请求
- reactjs - 尝试使用 onclick 按钮设置多个值
- python - 通过 Flask (Python) 将结果打印到网页
- android-sdk-manager - centos 8 sdkmanager 更新工具失败