查看原文
其他

Python自动化运维入门必看系列之:Django架构介绍

安老师 Python自动化运维 2024-03-03

01

“我”为什么需要学习Django呢?

自动化运维简单来看,就是用户在前台页面输入关键信息,后台自动生成所需要的东西或者实现某个需求。最终目标是通过机器去“修理”机器,学习自动化运维到了一定的阶段其实是跟AI离不开的。现在很多的自动化运维基本上都停留在半自动化,等需要真正自动化运维的时候,系统将会越来越复杂,


那良好的交互对于避免复杂是非常重要的。使用Django架站是一个不错的选择,等我们学习Django之后,再修行ansible等自动化软件,会有意外的惊喜喔!


下面我开始结合自己的学习笔记,跟大家分享Django架构的知识吧。(如有错误,请各位老铁指出!)

    

02

Django架构介绍

Django架站有两种架构,一是MVC架构,而是MTV架构。Django的MTV模式本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同.


Django MVC架构

Model(模型)

包含系统中的数据内容,通常以数据库的形式来存储,如果数据有变动,则通知View实时改变现实的内容,还有一些处理数据的程序逻辑也在这里。


View(视图)

创建和用户之间的界面,把用户的请求传给Controller,把按照Controller的要求把来自Model的数据显示出来。


Controller(控制器)

接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据。控制器是将“模型”和“视图”隔离,并成为二者之间的联系纽带。


MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。


Django MTV架构

Model(模型)

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


Template(模板)

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


View(视图)

即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。


Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template


03

Django特性

  1. 采用ORM方式存取数据库的数据,数据库抽象化,网站设计基本不需要使用SQL查询语言。

  2. 日后如需更换数据库,无须修改大量程序代码。

  3. 用过MVC架构概念把视图和控制逻辑分开,开发人员不用担心网站通信协议的琐碎细节,而是专心于建立网站的功能。  

  4. Python语言处理和运算、操作数据库,让网页请求更加客户化,实时响应。



ORM框架

      Django采用ORM方式存取数据库的数据。Python程序中不使用SQL指令存取数据,而是以ORM方式存取数据库的数据。        ORM(Object relational Mapper/Mapping),它是以重面向对象的程序设计技术映射后端数据库。即对数据库的操作方式抽象化为统一用Python的数据操作方式,解决底层数据库兼容性的问题。再简单点说,只管Python的数据操作方式,不需要管底层数据库是Oracle/Mysql/Redis等。


04

在Django MTV架构下的网站开发步骤

  1. 需求分析不可少。

  2. 数据库设计。

  3. 了解网站的每一个页面,并设计网页模板(.html)文件。

  4. 使用virtualenv创建并启用虚拟机环境。

  5. 使用pip install 安装django。

  6. 使用django-admin startproject 生成项目。

  7. 使用python manage.py startapp 创建app。

  8. 创建templates文件夹,并把所有网页模板(.html)文件都放在此文件夹中。

  9. 创建static文件夹,并把所有静态文件(图像文件、CSS文件及.js等)都放在此文件夹中。

  10. 修改settings.py,把相关的文件夹加入,也把生成的app名称加入INSTALLED_APPS序列中。

  11. 编辑models.py,创建数据库表格。

  12. 编辑views.py,先import在models.py中创建的数据模型。

  13. 编辑admin.py,把models.py中定义的数据模型加入,并使用admin.site.register注册新增的类,让admin界面可以处理数据库内容。

  14. 编辑urls.py,先import在views.py中定义的模块。

  15. 编辑urls.py,创建网站和views.py中定义的模块的对应关系。

  16. 执行python manage.py makemigrations。

  17. 执行python manage.py migrate。

  18. 执行python manage.py runserver测试网站。


长按二维码了解更多python自动化运维

继续滑动看下一个

Python自动化运维入门必看系列之:Django架构介绍

安老师 Python自动化运维
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存