我目前处于云计算运维岗。在每天需要进行诸多繁琐的巡检,为此组内早在14年开始就打造了一个自动化运维平台,日常中绝大多数任务都得以简化。我入职公司差不多有半年左右了,也被派发到组内系统建设这个项目。由于本人之前涉猎偏重于系统技术,开发方面底蕴较薄,深感惭愧。抱着快速学习的心态,将学习所得总结于此,希望能够快速接手任务。

        我们组内的系统是基于django框架开发的。之前自己是一直用flask,这方面是一点都不了解。我计划是一周能够接手组内派发的任务。这七天内,前3天是django基础知识准备,最后四天用来实战练习。由于工作忙,每天只能抽出3h来做这些事,故文章中可能有些地方理解不深,还请多多指教。

        以下贴上一段关于django的简介,摘抄自百度百科

Django简介

Django是一个基于MVC构造的框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。它们各自的职责如下:

层次

职责

模型(Model),即数据存取层

处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。

模板(Template),即业务逻辑层

处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。

视图(View),即表现层

存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。

从以上表述可以看出Django 视图不处理用户输入,而仅仅决定要展现哪些数据给用户,而Django 模板 仅仅决定如何展现Django视图指定的数据。或者说, Django将MVC中的视图进一步分解为 Django视图 和 Django模板两个部分,分别决定 “展现哪些数据” 和 “如何展现”,使得Django的模板可以根据需要随时替换,而不仅仅限制于内置的模板。

至于MVC控制器部分,由Django框架的URLconf来实现。URLconf机制是使用正则表达式匹配URL,然后调用合适的Python函数。URLconf对于URL的规则没有任何限制,你完全可以设计成任意的URL风格,不管是传统的,RESTful的,或者是另类的。框架把控制层给封装了,无非与数据交互这层都是数据库表的读,写,删除,更新的操作。在写程序的时候,只要调用相应的方法就行了,感觉很方便。程序员把控制层东西交给Django自动完成了。 只需要编写非常少的代码完成很多的事情。所以,它比MVC框架考虑的问题要深一步,因为我们程序员大都在写控制层的程序。现在这个工作交给了框架,仅需写很少的调用代码,大大提高了工作效率。