在本节开始之前,让我们先修复一个bug,
bug是,我们在做首页的超链接的时候,修改了child函数,使其增加了一个返回数据的控制器-child_json()函数
虽然首页我们成功了,但是影响到了其他页面,比如帮助页面。我们发现进入帮助页面后,一片空白。后台报错。
这个错误是说res这个变量没有被定义。
我们看看代码
这里面的res 被定义的途径只有 eid == Home.html 的时候才可以。
所以进入其他页面的时候,因为eid不是Home.html ,res就没被定义,最后返回的是什么呢?肯定报不知道res是个啥的错误。所以我们做的这个平台其实也是一个正常的开发项目,也需要一些自测,尤其是在动底层的核心代码函数的时候,影响很大。不通过测试,很难意识到修改的底层被哪些表层调用了,兼容出问题。
这里修改很简单。我们在最开始给res = {} 即可。这样如果有控制说res={什么数据} 也可以,没有指定的那就是不需要数据,就当{}空字典返回即可。
然后我们重启服务,刷新页面进入帮助模块:
(因为这个系列输入文字直播,所以难免过程中有绕路甚至bug的情况,这样的好处是让大家体验一次真实的开发过程,出现bug,测试 ,修复这种事情很平常。而不是照着写好的完整项目敲代码,然后出现一点问题就会自暴自弃,觉得自己不行这种错觉。)
现在开始回归本节主题。开发项目列表,
首先我们去models.py中创建这个项目表:按照我们上节计划的字段设置好,基本全用的字符串。其中user和other_user 我用了用户名而非用户id,这里是因为我们公司内部几乎没人有重名,即使重复了,也会在后面加上01 ~99。当然也可以用id。这里看个人喜好。只是因为在显示项目列表的时候,会显示创建人名字,如果这里存放的是id,那我们还需要额外增加一步去用户表根据id找到用户名来显示。
创建好后,我们去执行 那俩天最常用的 同步表结构/生效的 命令吧:
这俩条命令执行的过程中要确保项目代码没有bug,不会因为报错导致启动都启动不了才行。
然后别忘了去admin.py中注册好这个项目表,这样我们就可以在后台看到并操控项目了。
注意 :这里敲的时候 可能不会出现联想,不要犹豫,直接照着敲即可。django中有些方法是不会被pycharm搜索到并联想的。因为源码中这个site函数 进行了多重的封装和调用,超过了pycharm静态检查的长度联想。
接下来我们去后台,找到这个项目表,手动创建2个项目,以便我们后续开发前端显示排版做demo用。
创建了2个,这样我们在前端显示设计的时候才可以进行测试复数个项目的西餐时效果到底如何。
可能有同学要问了,这里就是项目列表了,可以对项目增删改查,为啥我们还要自己动手做一套新的 项目列表呢?
那是因为这里毕竟是后台,只有管理员才可以登陆。而且我们要做平台,就要统一风格,你不能给普通使用者用的平台突然让人家 跳转到后台去 新增项目 才能继续进行吧?那样太对付了。
接下来我们的任务就是,写一个前端的项目列表页面,写一个后端函负责返回这个项目列表页面,然后再在child_json()中写好数据返回的对应关系 即可。这些内容,大家可以先自己尝试做,毕竟所需的技术我们前面都已经学完了,在下一节作者公布之前,对比一下,纠正一下 才会更加加深印象和锻炼自主思考开发的能力。
今天就到这里结束了,看过的小伙伴点一下赞和在看,分享。这样可以帮助作者更好的创作下去。