先来看下整体结构。
(本项目为本地调试项目,并非真实线上项目。所以比较乱,因为是带着很多刚开始学的同事一起做,相当于给大家提供的练手之地,所以难免在很多命名和分层上不是特别合理。但是运行起来和线上项目除了数据不同,其他全是一摸一样。)
首先:
Imxiaozhu文件夹:
基本都是django创建时候自动生成的。我们只需要在意一下settings.py和urls.py即可。前者为项目的各种基础设置,后者为路由控制器。
Xz_ApiTest文件夹:
内容较多,初学者我们只需要关注
static: 静态资源存放,就是你的图片,下载的css/js等等 放在这里,之后html中都可以直接调用
templates:你的html模版文件存放地,就是写html的地方
admin.py: django自带后台的一个主要文件,你想要你做的数据库在后台可见可控,就必须在这个文件中把你的数据库写进去。
models.py:django的orm数据层的主要文件,就是你要创建各种数据库/表的地方。
views_......py :这种文件全都是视图逻辑层,就相当于你写后端代码的地方。主要就是用来接收html过来的请求,然后下连数据库,最后把结果返回给用户浏览器。
.gitignore: 这个是用来上传到gitlab上时进行的 文件忽略设置。就是有些你本地项目的文件,是不能放到公共仓库,然后覆盖线上项目的。比如你本地的调试用的数据库,日志等等
db.sqlite3:这个就是django自动生成的sqlite3数据库了,不是特别大型的项目不需要换掉。具体链接设置在前面提到的sttings.py进行设置。
基本上就这么多是需要用到的文件。其他的请在初学期忽视。
关于命名规范:
习惯于下划线,不太喜欢单/双驼峰。这个不同人有不同感受,自己喜欢就好。
关于pep8:
我觉得不要严格要求代码规范使用pep8,只需要借鉴其中大部分规范即可。其中有些规范,严重影响阅读体验,影响逻辑思维,毕竟测试也不是专业开发。更多精力和关注点应该在功能的完成上,有余下精力再进行美化代码即可。
关于前后端分离:
记得当时刚开始做测试平台只有自己的时候,还被其他组的小人举报没有进行前后分离,可能对方只觉得这些时髦设计不用就是垃圾。实际上来说,任何设计都有它的适用场景,并不是说多多益善,都有利有弊。忽略前后端分离的初始目的,哪怕一个人开发也要使用,这本身是不明智的,在项目前期,排期极短,建议此情况的测开初次打造的时候,尽量以功能为主。精力放在有价值的事上,过早的优化就是万恶之源。
关于敏感数据(脱敏):
所有展示的代码,均会进行脱敏处理,因为是本地调试用的项目,所以也没有真实公司数据。而且关键名字会打码。
关于技术版权:
项目由本人设计开发实施代码超过95%,手把手教了同事测开技术,并且给予发挥的用武之地。