由于表单没配置novlidate 属性导致的无报错的表单无法提交到视图函数
事情起因
在跟着《Django入门到精通》学习,到尾声的时候。突然,发现reply回复表单的按钮,点击后,无响应。
事情经过
重启项目,因为刚修改完。 无效
通过浏览器检查,没有报错。 无效
运行测试用例,没有报错。 无效
设置断点调试,发现首次进入页面会通过视图函数,使用按钮提交表单,无法进入视图函数。不知道跑哪里去了。 无果
解决
将书籍源码覆盖,发现静态模板页面存在问题,然后仔细对比,最终发现表单少了个novalidate 属性。
目前不清楚,为什么表单就一个输入组件,然后该文本域就是普通的文本域。在正常输入的情况下,即使检测也不应该会影响到正常输入的。但是就是无法到达视图函数。
中间有设置表单模板,作用是判断表单是否报错。由于也是静态的页面,无法调试到这里。原因未明,有明白的麻烦指导一下。十分感谢!!!
总结
人傻了,无报错,调试不能通过静态页面设置断点到后台断点。要是没得正确答案,我该如何解决这种情况。
补充
novalidate 是HTML5 才有的表单的属性,同时也支持其他的输入。
作用是不使用django或者是说网页自带的输入检测,比如空值检测,邮箱地址合规检测等。