Python自动化运维:小白必看的Django架构介绍

开课吧开课吧小西2021-02-22 15:10

什么是Django?大家可以这样理解,Django是一个Web系统的框架,通过Python和前端、后端的知识在Django框架里面可以搭建你想要实现的系统。

Python教程

01学习Django的一些想法

小安Sir也是偶然机会接触Django。我试着做一个小网站Blog,用舍友的电脑和手机输入网站,可以访问我的网站,所以决心学习Django。因为我个人认为要做运维,就要做一个看得见的运维!

另外,以下几点也是我学习Django的动力:

个人的IT知识集中营。

不再依赖他人(开发),所想即所得,随手拈来!

我想成为被看到的运维。

轻松工作,协助团队。

拓展视野,增加可能性!了解前端工作原理,了解APP开发思路。

回到自动化运维系统上,从网页这个角度看,用户在前端页面输入关键信息,后端自动生成所需要的东西或者实现某个需求。

Django适合做什么系统呢?

Blog、CMDB、脚本管理等系统。

Django有哪些优缺点?

优点

通过Python实现,这点非常重要。

带有管理后台的admin,快速开发。

丰富的第三方类库。

缺点

不适合做并发。

单点应用,性能扩展难度大。

小安Sir认为最终目标是通过机器修理机器,学习自动化运维达到一定水平,实际上AI是必不可少的。

迈开腿,踏出第一步,从基础开始!注意,这只是背景知识。看不懂,看了几遍就忘了。没关系!因为小安Sir推崇实战中去领悟。

下面分享我的一些学习笔记。

02Django架构介绍

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

DjangoMTV架构

Model(模型)

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

Template(模板)

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

View(视图)

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

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

03Django特性

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

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

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

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

04ORM框架

Django采用ORM方式存取数据库的数据。Python程序中不使用SQL指令存取数据,而是以ORM方式存取数据库的数据。

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

05DjangoMTV架构的网站开发步骤

需求分析不可少。

数据库设计。

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

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

使用pipinstall安装django。

使用django-adminstartproject生成项目。

使用Pythonmanage.pystartapp创建app。

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

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

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

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

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

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

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

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

执行Pythonmanage.pymakemigrations。

执行Pythonmanage.pymigrate。

执行Pythonmanage.pyrunserver测试网站。

开课吧Python培训拥有四大特色,门槛低、不吃力、应用强、专业高,你将掌握Python这门编程语言,实现自动化办公,减少重复劳动,熟练处理各种海量数据,将数据可视化呈现。投身开课吧,将是您智慧的选择!

Python的发展前景还是很可观的,有对Python感兴趣的同学就赶快学习起来吧。以上就是小编今天为大家整理发布的“Python教程:Python中实现多进程与多线程”一文,希望为正在学习Python的朋友提供学习参考,更多Python教程尽在开课吧广场Python教程频道!

上一篇:Python面向对象编程基础,你学会了吗?下一篇:Python数据挖掘

最新文章

文章图0

关于Python多行注释与单行注释的用法全在这了

注释用于向用户提示或解释某些代码的功能和作用,可以出现在代码的任何地方。在执行代码时,Python解释器将忽略注释,而不对其进行处理,就像它不存在一样。

2021-03-05 19:02:35

文章图1

只需5分钟,就可让Python脚本变为Windows应用!

Python教程本身是一个解释型的语言,其运行要依赖于在系统里安装的各个基础包和安装上的包,或者是动态链接库。

2021-03-05 18:54:42

文章图2

使用Python中的os模块快速删除文件

如果你想用Python删除windows中的文件,需要在这里使用os模块!然后我们来看看怎么用os模块删除文件!

2021-03-05 18:46:30

文章图3

这份Python办公自动化秘籍一定要收好,会提升你工作的幸福感!

在日常工作中,经常需要批量处理文件,遇到处理步骤比较繁琐的文件,很多刚入职场的同学完全没有头绪,不知该从何下手,只好找百度帮忙。今天为大家介绍10个Python最常用到的文件操作,都是采用内置函数实现的,相信一定会对大家有所帮助。

2021-03-05 18:25:46

文章图4

学会用Python自动生成数据分析报告,保你每天准时下班!

在日常工作中,我们经常在做很多重复性的工作,例如:月初的数据分析报告,几乎就是按照固定的模板填充内容,如果每次都手动去做这个事情,不仅浪费时间,对我们的职场成长益处也不大,不如用Python来自动生成数据分析报告,这样就可以腾出更多精力和时间去做更有意义的事情。

2021-03-04 19:10:38