为了新的试图文件中的路由可以成功注册777皇家电玩城官方网站

当前位置:777皇家电玩城 > 777皇家电玩城官方网站 > 为了新的试图文件中的路由可以成功注册777皇家电玩城官方网站
作者: 777皇家电玩城|来源: http://www.lairuigroup.com|栏目:777皇家电玩城官方网站

文章关键词:777皇家电玩城,鱼书

  其他地方的代码多一点还可以接受,视图函数中不可以,因为视图函数是一个web项目的入口。所有人阅读都是从这里入手,应该把细节屏蔽掉,给阅读者一个选择。

  看源码的技巧:先通读整体,了解整体过程,再回过头来了解细节,不要从一开始就深究每一个细节

  过多的注释会让代码变的臃肿,尽量使用易懂的函数名来代替注释,保持代码的简洁性

  使用json.dumps 序列表返回结果,在视图函数中进行返回,并声明状态码和返回类型(一个元组)

  2.从业务模型抽象的角度,不应该把他们都放在一个文件中。关于书籍相关的API就应该放在书籍模型的视图函数文件中,跟用户相关的API就应该放在用户模型相关的文件中

  3.入口文件的意义比较独特,会启动web服务器以及做很多初始化的操作,就算要放在一个文件也不应该业务的操作放在入口文件中来

  思路,将试图函数抽离到单独的包中,然后在新的试图文件中引入flask.py来导入app核心对象。为了新的试图文件中的路由可以成功注册,再在flask.py中引入刚刚抽离出的试图模块

  但是这样做并不是正确的做法,结果表明,这样修改以后,访问search api会404

  flask的基本思想是内部会维护一个字典。每一个url都会对应一个视图函数,但是不仅仅是这样。每一个url还会对应一个endpoint端点。用于反向构建URL(后面会讲解)

  从上面的断点调试中发现,我们的url_maph和view_functions中都已经维护了相关的信息。但是为什么还是会出现404的情况,这是因为fisher.py和book.py出现了循环引入的情况。

  问题1:因为都是由fisher引入book,一个模块只会引入另一个模块一次。所以只执行了一次book

  问题2:由于一次是主流程执行fisher文件;一次是由book模块导入 fisher。

  下面来加入一些日志出数验证我们的结论。我们在app实例化,启动,注册路由是哪个地方加入日志信息,来观察一下

  可以看到注册路由的app,777皇家电玩城官方网站和启动服务的app不是同一个app。并且最后启动的app是最先实例化的app,也就是红色主流程的app;而注册路由的app是后实例化的app,也就是由book导入fisher模块的蓝色流程的app

  19年6月更新:该篇翻译已经被移到 TangYefeis Blog,相较于简书阅读体验会更好,如果喜欢请点个 ❤...

  3.1搜索而不是拍照上传 鱼书网站是赠书的平台,所以不需要提供书的用户拍照和填写相关信息上传到平台。 3.2 数...

  [TOC]一直想做源码阅读这件事,总感觉难度太高时间太少,可望不可见。最近正好时间充裕,决定试试做一下,并记录一下...

  链接 1.内链接 (A:等值链接 B:非等值连接) 左侧或者右侧出现没有对应的内容就不会被显示出来 A第一种写法 ...

  2018年6月6日星期三 晴 因为我们数学老师今天不在,所以昨天就留了两天的作业。为了今天轻松一点,我昨天使出洪荒...

网友评论

我的2016年度评论盘点
还没有评论,快来抢沙发吧!