摘要: 总的来说,部署遇到了许多坑,而且还有好多坑还没有踩。 去Cocode找了许多教程,才踩了一些坑,但是关于数据库的坑,先留着。 所有的db.session.add()后面都加上db.session.commit()才行。记得,这是狗书的问题!!! [部署教程]http://cocode.cc/t/fl 阅读全文
posted @ 2017-04-25 09:31 Cheko 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 测试 编写单元测试主要有两个目的。实现新功能时,单元测试能够确保新添加的代码按预期方式运行。 Flask测试客户端 程序的某些代码严重依赖运行中的程序所创建的环境。视图程序只能在请求上下文和运行中的程序里运行。 Flask內建了一个测试客户端用于解决这一问题。它能复现程序运行在Web服务器中的环境, 阅读全文
posted @ 2017-04-23 10:29 Cheko 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 应用编程接口 业务逻辑被越来越多的移到了客户端一侧,开创出一种称为富互联网应用(Rich Internet Application, RIA) 在RIA中,服务器主要功能是为客户端提供数据存储服务。 在这种模式下,服务器变成了Web服务器或应用编程接口(Application Progamming 阅读全文
posted @ 2017-04-20 14:47 Cheko 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 关注者 解决多对多:添加第三张表,为关联表。 db.backref()参数并不是指定这两个关系之间的引用关系,而是回引Follow模型。 回引的lazy参数指定为joined.这个lazy模式可以实现立即从联结查询中加载相关对象。 如果选为select,那么首次访问follower和followed 阅读全文
posted @ 2017-04-16 15:09 Cheko 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 博客文章 本章实现主要功能,允许用户阅读、撰写博客文章。 重用模板,分页显示长列表、处理富文本。 current_user由Flask Login提供,和所有上下文变量一样,也是通过 线程内的代理对象实现。这个对象的表现类似用户对象,但实际上却是一个轻度包装,包含真正的用户对象。 数据库需要真正的用 阅读全文
posted @ 2017-04-13 09:41 Cheko 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 用户资料 WTForms对HTML表单控件进行SelectField进行包装,实现下拉列表,用来在这个表单中选择用户角色。 SelectField 实例必须在 __choices__ 属性中设置各选项 用户头像 Gravatar是一个行业领先的头像服务,能把头像和电子邮件关联起来。 生成的头像URL 阅读全文
posted @ 2017-04-11 15:59 Cheko 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 用户角色 def insert_roles(): roles = { 'User': (Permission.FOLLOW | Permission.COMMENT | Permission.WRITE_ARTICLES, True), 'Moderator': (Permission.FOLLOW 阅读全文
posted @ 2017-04-10 14:47 Cheko 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 用户认证 用户连接程序后会进行身份认证,让程序知道用户身份,提供有针对性的体验。 认证扩展 Flask Login 管理已登录用户的用户会话 Werkzeug 计算密码散列值并进行核对 itsdangerous 生成并核对加密安全令牌 Flask Mail 发送与认证相关的电子邮件 Flask Bo 阅读全文
posted @ 2017-04-10 09:22 Cheko 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 大型程序的结构 项目结构 Flask程序一般都保存在名为app的包中 migrations文件夹包含数据库迁移脚本 单元测试编写在tests包中 venv文件包含Python虚拟环境 requirements.txt列出了所有依赖包,便于在其他电脑中重新生成相同的虚拟环境 config.py存储配置 阅读全文
posted @ 2017-04-07 16:39 Cheko 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 电子邮件 Flask Mail Flask Mail提供电子邮件支持,Flask Mail连接到简单邮件传输协议(Simple Mail Transfer Protocol, SMTP)服务器,并 把邮件交给这个服务器发送。如果不配置,它会连接localhost上的端口25,无需验证即可发送电子邮件 阅读全文
posted @ 2017-03-31 17:25 Cheko 阅读(114) 评论(0) 推荐(0) 编辑