【前言】中型的项目是比较多的APP,肯会涉及多数据表的操做。若是有人带那就最好了,本身要先了解基本的django框架(MTV ,ORM等)师傅能够给讲解一下框架怎么组织url.py,model.py,admin.py,view.py,.html顺序的,弄懂一个app。其余的也就举一反三了。因为使用的django框架公司没人用过,将本身摸索学习的过程记录一下。css
一、一个erp管理系统,41个文件目录,190个文件,还算是一个中型的项目。好在里面的APP有类似的,无需所有搞懂全部的,只需搞懂那么一个,举一反三。html
二、运行界面前端
网上一张完整的图:java
大体几个步骤:python
分析的前提,默认已经设置好全部的数据库,能够运行工程,就差读懂代码。web
wsgi到中间件就略过了,咱们分析主要的程序!!数据库
一、先找到seting.py所在的目录django
二、打开url.py浏览器
能够看到,有初始的admin对应的view,后面两个是分APP所在的目录对应的url.py,因此url.py不止一处。架构
三、打开workflow.view.start函数
view里面的函数都是对数据库的操做,是对数据的承上启下做用,咱们看箭头指的那个表Modal(models.py里面的类)
四、在view.py的同级目录下,找到admin.py
这里他进行了Mddal类的绑定:
找到后面那个绿色区域的类,那里就是web后台。django自带的后台管理。所谓后台,就是对model.py里面定义的数据库字段,进行前台显示。
五、咱们找到modal所在的models.py,这里面是对数据库中字段的定义,“=”左边是数据库中的字段名,右边“workflow code”是能够本身命名的,将显示在前端。能够命名成汉字。打开:
里面是对列的定义。类名就是表名,类里面的字段表明数据表中的字段(code),数据类型则由CharField(至关于varchar)、DateField(至关于datetime), max_length 参数限定长度。具体里面models的函数,参考:https://www.cnblogs.com/dreamkeeper/p/7623894.html
其对应的数据库里面的字段:
六、如此,咱们的代码和数据库交互了起来,咱们能够在view()中对数据库进行增删改查,view()中还要负责将数据映射到html文件中,html再动态连接css渲染,输出到界面。注意,咱们的分析过程并非一条直线,在view()处分红了两路。view()往下的咱们分析过了,下面分析view()往上到达html的。
七、仍是回到view.py,找到start函数,在类的最后咱们看到了类的调用:
调用了.html文件
八、html文件里面包含太多继承,除了base.html能够看懂,其余的我基本看不懂。那咋办呢?——我通常是打开对应的网页,而后看网页源码,这样将源码和其对应的html文件对比,也能明白个差很少。
html语言弄懂标签就简单了。
一、basedata中的model.py
二、admin.py
django框架是比其余框架复杂一些,基于mvt架构理论理清其中url,models,view,admin,html几者的关系就简单了。在复杂一些的django项目,也就是增长了APP的数量。固然此时会涉及更多的框架以外的知识,好比数据库表的一对多等等。须要多看,多学习吧!我又浅尝辄止了……
原文连接:
https://www.cnblogs.com/huangfuyuan/p/Django.html
识别图中二维码,领取python全套视频资料