首页
学习
活动
专区
工具
TVP
发布

《Flask Web开发》第5、6章 学习摘要

一、数据库抽象层

Web程序最常用的数据库就是关系型数据库,这种数据库使用的是结构化查询语言。

本书中使用的是数据库的抽象层,如SQLAlchemy这种。

SQLAlchemy比数据库更容易使用,性能差了一点,不过不是大型应用也没问题了。掌握它就可以把重心放到逻辑上,而不用分心去管那些具体的数据库语言了。

Flask-SQLAlchemy这个扩展包装了SQLAlchemy,安装它即可使用SQLAlchemy。

记得在配置数据库时要加上这样一句:

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

# 设置为True也行

定义模型:

记住一个模型就是一个Python类,类中的属性就是数据库表中的列。

如:

name = db.Column(db.String(64), unique=True)

#db.Column()是一个类,而name是这个类生成的实例,也是模型的属性(表中的列)。

在5.7关系这一小节当中,需要重点理解的内容有很多,尤其是那句“db.relationship()中的backref参数向User模型中添加一个role属性,从而定义反向关系。这一属性可替代role_id访问Role模型,此时获取的是模型对象,而不是外键的值。“

也就是说User.role_id得到的是roles表中的id值。而User.role得到的是整个Role模型,可以此知道User对应的Role有哪些列。

关于数据库的知识,还是看专门讲解数据库的书比较好。

应用不大的话,SQLAlchemy已经够了。

二、add_command

5-7中有

然后就可以在命令行使用命令了。

5-8中有

然后就可以在命令行使用数据库的迁移命令了。

这两者中的重点是add_command这个方法,不是很难,只是看得快很容易忽略它。经常看到就了解了。

三、邮件

关于第六章,其实不太难,只要跟着书上做就可以了,只是要注意一定要给FLASKY_ADMIN赋值,不然发不了邮件。

使用环境变量:

不要加引号

包括如MAIL_USERNAME和MAIL_PASSWORD后面都不要加引号。

前者是邮箱,后者是QQ邮箱的SMTP授权码。

如果学到了这里感觉到了困难,很有可能是学习贪快,以致根基不稳。

欲速则不达!千万不能留太多的困惑,准备以后解决。

更不能因为别人都说简单,自己就迫不及待往前冲,反而降低了效率。

原创:微信公众号

转载请注明来源

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180611G21EDK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券