本有的剧情约等于是对前7章内容的现实性执行

目录

style=”font-family: 宋体; font-size: 14pt;”>前言

style=”font-family: 石籀文;”>第8 style=”font-family: 甲骨文;”>章
顾客认证

style=”font-family: 燕体;”>第9 style=”font-family: 金鼎文;”>章
客商角色

style=”font-family: 行书;”>第10 style=”font-family: 燕体;”>章
客户资料

style=”font-family: 金鼎文;”>第11 style=”font-family: 石籀文;”>章
博客小说

style=”font-family: 宋体;”>第12 style=”font-family: 宋体;”>章
关注者

style=”font-family: 陶文;”>第13 style=”font-family: 陶文;”>章
客商评价

style=”font-family: 陶文;”>第14 style=”font-family: 陶文;”>章
应用编制程序接口

 

 


前言

第1章-第7章学习实行记录请参见:《Flask
Web开拓——基于Python的Web应用开拓实施》一字一板上机实施(上)

 

正文记录本人攻读《Flask
Web开采——基于Python的Web应用开垦实施》的第8章-第14章内容。比较于刚先河攻读第1-7章内容的话,本有的剧情实战性越来越强,並且在书本上遇到的难题也针锋相投非常少,假如认真弄懂前7章内容的话,本有的内容相当于是对前7章内容的有血有肉举行,学习也很自在。

 

先是说多美滋(Dumex)下本有的项目示范实现了什么样职能?

  • 客商剧中人物:普通顾客、管理员
  • 现实职能:登录、注册、公布作品、编辑成文、客户间关切、顾客评价、修改个人音信、管理客商评价、MarkDown展现小说格式。

下图中所示为多少个管理员角色登录系统各部分机能图片动态图:

 图片 1

自己要好上机练习代码:(PS:和作者GitHub上代码有多少组别)

 

 


第8章 客户认证

1.书本79页密码散列功用shell测验有bug

举例学完第7章,并依据71页manage.py中写入运维脚本代码,在支配台输入python
manage.py shell会报以下错误:TypeError: <flask_script.commands.Shell
object at 0x0000000004E29668>: ‘dict’ object is not callable

图片 2

 

消除办法如下图:

 图片 3

 

从而,借使依旧安装书本上命令提醒输入指令,会报以下错误:Traceback
(most recent call last):File “<console>”, line 1, in
<module>

化解办法见下图:

 图片 4

 

2.书本87页用shell插入新客户数据有bug

本难点在于数据库设计带有外键,间接依据书中插入代码,未插入客商剧中人物外键,是不可能插入数据的。

化解办法:删除User表和Role表之间的多对一涉及

 图片 5

 

下一场,删除项目中享有**.sqlite文件和migrations文件夹,具体如下:

 图片 6

 

然后遵照下图所示三步,重新创立数据库(PS:此处方法见第5章5.11节):

 图片 7

 

这么些管理完成后,依据书上插入代码,还是会报找不到User和db错误,化解办法如下:

 图片 8

 

完了上述数量插入任务后,在CMD调控台输入python
manage.py
runserver开启服务,浏览器中输入http://127.0.0.1:5000/auth/login,然后用插入的邮箱号和密码进行登陆,会得到如下结果:

 图片 9

 

 图片 10

 

 

3.书本89页实际运作结果(PS:经验证,数据足以登记成功)

 

 图片 11

图片 12

 

4.书本92页试行一个新的数据库迁移

在CMD窗口中,依次输入python
manage.py db migrate -m “the second migration”、python manage.py db
upgrade命令,具体实施以及得到结果如下:

 图片 13

图片 14

 

5.书本94页示例8-22代码因为Flask-Login版本问题出现如下图所示bug

 图片 15

 

化解办法见下图:

 图片 16

 

让自家纳闷的是,作者写笔记时看的是实体书,下面代码有标题,上面截图的是电子书,下边却是准确的>~<,具体如下:

 图片 17

 

标题一下子就解决了方案网站(https://segmentfault.com/q/1010000004041497

测试is_authenticated方法如下:

 图片 18

 

外加书本95页页面运转结果:

 图片 19

图片 20

 

 

并发上海教室的来头:

花了二个多钟头找错,结果发掘是投机照着书籍83页敲示例8-8代码时少了return语句,直接写User.query.get(int(user_id)),具体如下:

 图片 21

 

消除来源(https://github.com/maxcountryman/flask-login/issues/302):

 图片 22

 

运营成功分界面如下:

 图片 23

 

上边是自己自身修改数据库数据中国聚集国人民邮政根据地公司箱验证属性为True时来得结果(PS:首要在于邮箱验证时索要申请一时密码,所以就没填写具体邮箱数据,直接手动改写后台数据库中数量):

 图片 24

 

注:第8章珍视教学了哪些接纳Flask框架完成客商登入、注册功效,以及采纳邮箱实行客商注册确认以及密码修改确认等。感到第8章内容就是对书籍前7章内容的贰遍综合作演出习,全部应用的本事点都足以在前7章中找到。所以,个人感到只要安分守己把第8章全部代码以及落实思路弄懂,才终于刚同志刚入门Flask框架。

 

 


第9章 客户脚色

1.书本99页使用shell会话把剧中人物写入数据库难题

是因为在第8章完毕进度中,我把Role表和User表之间的外键关系给删除了,如若在那章不另行恢复两表之间的涉及就不只怕落到实处顾客剧中人物的功用。所以,在这种状态下,小编又得要把数据库重新开首化、迁移和创造。之所以这么做,并不是一向开展搬迁和开创,是因为自身在一向开展搬迁和创办的长河中,报错:default属性在框架中已经存在,不可能创建新的Role表,那些张冠李戴未有化解,由于初学,无语,直接删除migrations文件夹和浮动的data-dev.sqlite数据库文件,重新实行开头化、迁移和创办,发掘一切OK。具体如下:

 图片 25

 

好了,既然Role表和User表之间有了一对多而留存的外键关系,那注册作用插入客户数据时,必得得要分明客户剧中人物,不然不能插入。

 图片 26

 

刚巧张开了登记测量试验,竟然毫无鲜明客商剧中人物,也足以插入成功。那样的认为违背了自己学习数据库的理论知识啊,在此以前第5章,实行插队数据时,行不通,今后好了。揣摸是前边学习时,代码有点bug。

 

注:本章也正是珍视在讲数据库的文化,和本书核心Flask框架的知识点联系非常的小,个中核情绪想就是概念权限来分配角色品级。贰个顾客有的唯有一种权限,有的能够有三种权力。权限的抽成很利索,那样管理操作大大简化了数据库的宏图难度,也加强了数额的条理性。

 

 


第10章 顾客资料

1.书本105页、107、109页和112页操作运维结果

这里依据书本上的代码讲授,进行编写制定代码操作,当中碰着的难题在前边均已蒙受过,所以到了这里基本没啥难题。依据书本讲授,运转结果具体如下:

客商简要介绍页面

 图片 27

 

普通客户修改个人消息分界面

 图片 28

 

图片 29

助理馆员修改个人音讯分界面

 图片 30

 

图片 31

 

显示客商头像的资料页面

 图片 32

 

 

 

注:本章主要实现博客系统普通顾客和协会者角色的个人消息编辑功用达成,此处实现未有怎么技术亮点和难题,只要认真完毕书本前述部分,那有的职能完全未有障碍。

 

 


第11章 博客文章

1.有关书籍119页示范11-8代码

本有的代码在作者GitHub上一直不身体力行代码,即倘若要促成导入设想数据测量检验作用,只可以协调二个代码叁个代码敲。然而,这几个也太多了点,贰个假名出错将在改错>~<。从小编GitHub上平素克隆下来的代码,就算尚无身体力行代码,可是应当是小编更新代码后,在此地换了另一种实现格局,因为在项目文件中出现了贰个新的fake.py文件,该公文中代码和示范11-8代码基本类似。

 

2.图书117页、123页、125页和130页操作运营结果

 图片 33

图片 34

 

 图片 35

图片 36

 

注:本章是对博客系统功效的恢宏,主要完成客户编辑发送博客小说,个中还足以运用马克Down来贯彻对小说的编纂。功能具体落到实处参照书本的代码讲授就能够,基本不会碰着如何较难的难点。

 

 


第12章 关注者

1.书本137页和142页实际运转结果

 图片 37

图片 38

 

 图片 39

 

 2.操作完第12章代码后,若是选用客户退出,恐怕会油不过生以下bug:AttributeError:
‘AnonymousUser’ object has no attribute ‘followed_posts’

 图片 40

 

化解办法,在models.py文件中找到AnonymousUser类,在这么些类中增添贰个主意,具体代码如下:

@property
def followed_posts(self):
    return Post.query.join(Follow, Follow.followed_id == Post.author_id) \
        .filter(Follow.follower_id == None) 

 图片 41

 

注:本章具体贯彻部分的难点是关爱客商记录的数额库表的统一打算,即多对对关系会生成一张中间表。别的一些,依据书本上的代码来上机操作,基本不会遇见什么困难。

 

 


第13章 客户评价

1.书本148页和151页实际上机械运输营结果

 图片 42

图片 43

 

 

注:本章首要达成博客的客户评价功效,以及增加了二个体协会助管理员权限,具体落到实处没有啥样难点,依照书本的代码上机操作就可以。

 

 

 


第14章 应用编制程序接口

1.书本168页测量试验打字与印刷结果

这里具体操作需求先在CMD中开拓服务,技巧收获api中多少。(PS:推荐一篇博客:http://blog.csdn.net/huang5487378/article/details/60778293

运维结果:

 图片 44

图片 45

 

 

 

相关文章