记录W3C学习Flask遇到的坑


之前一直有记录笔记的习惯只不过一直是默默在word里写,后面文件丢了很多次,或者被云存档覆盖认识到了在线博客的重要性。
W3C教程可能没人维护了,源代码有些现在直接运行会报错。

raise Exception(“Install ‘email_validator’ for email validation support.”)

W3C出问题的教程地址
直接运行代码会报下面的错误

raise Exception("Install 'email_validator' for email validation support.")
Exception: Install 'email_validator' for email validation support.

这个错误提示很有误导性,以为是缺少安装email_validator,实际上是安装了的。
我在Stack OverFlow中找到了遇到类似问题的情况。

Stack_OverFlow
在这里插入图片描述
回退WTForms到指定版本。

pymysql.err.InternalError: (1054, “Unknown column ‘name’ in ‘field list’”)

pymysql.err.InternalError: (1054, “Unknown column ‘name’ in ‘field list’”)

这个问题是在commit()提交时出现的,看起来好像是找不到数据包的name这一项,实际上是提交失败!
因为Unique这里表明了不能出现重复,注意数据库的添加是不会覆盖的,如果有重名的直接会增加一行新的,所以我这次修改代码不断重复提交,第二次就会出问题。
要么执行前删除表,要么取消unique.
在这里插入图片描述

MYSQL最新版本的GROUP BY

W3C教程是用sqlite数据库,我这里用的MYSQL。注意MYSQL最新版用group_by会有个问题
MYSQL最新版的GROUP BY强制要求使用
only_full_group_by
意思就是,例如:

`SELECT id,score FROM Score GROUP_BY id Having cout(score > 3)`

这个常见的成绩表,一个人也就是一个id往往会对应多个成绩,通过GROUP_BY可以将每个人分组,选出那些有三个以上分数的人。但这里select了id与score,而group by只有id,这个模式下就不合法,根据要求现在必须要GROUP_BY出现什么,前面SELECT才能选取什么。如果SELECT出现非GROUP_BY后面的内容,必须是聚合函数的参数:
例如

SELECT id,sum(score) FROM Score GROUP_BY id Having cout(score >3)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值