所以我有一个CreateView,它99%都是我想要的。如果用户在一个整数字段中输入一个字母,它会告诉用户输入一个数字;如果用户将一个必填字段留空,它会告诉用户需要填写。这很好,CreateView为我处理错误。但是,出于明显的原因,我不允许用户创建slug字段,这是通过将日期和其他两个字段合并并加上段塞来自动创建的。如果用户试图创建一个不会产生唯一slug的记录,那么表单是无效的,但是CreateView不会给出任何有建设性的反馈(除非您处于调试模式,否则您将获得唯一约束失败)。在
如果我将下面的代码添加到CreateView中,那么我需要重新定义CreateView之前处理得非常好的所有错误响应。在
def form_invalid(self, form):
return HttpResponse(#define stuff here)
有没有一种方法可以让CreateView正常处理无效的表单(好像我没有def form_invalid(self, form):
)除非有slug冲突?在
可以通过在重写
form_invalid
内部调用父级的类版本form_invalid
。在示例:
相关问题 更多 >
编程相关推荐