Python运维开发实战培训.ppt

上传人:tang****xu1 文档编号:520673 上传时间:2018-09-25 格式:PPT 页数:39 大小:671.81KB
返回 下载 相关 举报
Python运维开发实战培训.ppt_第1页
第1页 / 共39页
Python运维开发实战培训.ppt_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《Python运维开发实战培训.ppt》由会员分享,可在线阅读,更多相关《Python运维开发实战培训.ppt(39页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、8,1,Python运维开发,基础软件系统组,1,2,3,目录 CONTENTS,01,Python运维开发概述,Python是什么,是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python目前流行的版本有2.x和3.x,这2个版本区别大,开发的代码不兼容,Linux上自带的是Python2.x。许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。Python广泛用

2、于脚本开发、爬虫、科学计算、图像处理、数据分析Python图形化开发工具Python IDE :PyCharm,TIOBE排行榜,运维开发是什么,工作职责:1、负责运营支撑平台、运维自动化平台及其组件的设计和开发;2、负责优化、改进运维支持系统,并保证其安全高效稳定的运行;3、参与运营平台、运维系统的需求分析、设计、编码;4、负责开发、完善运维内部系统及辅助系统,提升运维质量及效率;,开发的语言选择:python、java、shell和web前端开发Python开发的运维工具:Ansible、SaltStack,运维开发的团队模式,纯开发团队开发,编程技术熟练,能快速形成产品,但是开发的产品可

3、能不符合运维人员的习惯,运维人员不爱用,纯开发团队开发,运维人员编程能力不高,学习成本高,但熟悉运维技术,产出的产品运维团队会常用。,运维人员独自开发,运维人员当产品经理,利用程序员强大的开发能力,按照运维的需求去开发,运维带领开发人员,团队模式,运维开发为什么选Python,Python优点,02,Python脚本与后台开发,Python发送微信,# coding: utf-8import urllib.requestimport jsonimport sysdef wechat(warns): corp_id=企业微信id corp_secret=企业微信密码 content=warns

4、gettoken_url=https:/ + corp_id + &corpsecret= + corp_secret token_file = urllib.request.urlopen(gettoken_url) token_data = token_file.read().decode(utf-8) token_json = json.loads(token_data) token_json.keys() token = token_jsonaccess_token send_url = https:/ + token send_values = touser:all, msgtype

5、:text, agentid:1, text: content:content , safe:0 send_data = json.dumps(send_values, ensure_ascii=False).encode(encoding=UTF8) send_request = urllib.request.Request(send_url, send_data) response = urllib.request.urlopen(send_request) msg = response.read()messages = sys.argv1wechat(messages),Python任务

6、调度模块,安装APScheduler非常简单:pip install apscheduler# coding: utf-8from apscheduler.schedulers.blocking import BlockingSchedulerimport datetimedef job1(): print(我5秒执行一次)def job2(): print(我在特定时间执行) sched = BlockingScheduler()sched.add_job(job1, interval, seconds=5)sched.add_job(job2, date, run_date=2018-03

7、-27 11:39:35)sched.start(),Python使用数据库,连接SqlServer模块pymssql,连接oracle模块cx_oracle,连接MySQL模块MySQLclient下面演示使用MySQL数据库如果没有安装MySQLclient,请安装,MySQLclient用于Python连接MySQL数据库下载mysqlclient-1.3.12-cp36-cp36m-win32.whl,安装pip install mysqlclient-1.3.12-cp36-cp36m-win32.whl#coding=utf-8import MySQLdbconn= MySQLdb

8、.connect(host=localhost,port = 3306,user=admin,passwd=admin,db =django,charset=utf8)cur = conn.cursor()cur.execute(select * from myapp_bill)data=cur.fetchall()print(data)cur.close()conn.close(),数据库性能管理平台介绍,数据库,数据库,数据库,collecter,Web服务器,Python编写的数据库性能信息收集后台,自动去数据库中获取性能数据,处理并存储在本地数据库中,Python web架构Djang

9、o编写的前端页面,用于展示性能图表,性能分析,自动优化,后台管理等,可帮助dba、开发、应用管理员管理数据库。,03,Python web开发,HTML超文本标记语言,HTML 语言是一种超文本的标记语言,简单来讲就是构建一套标记符号和语法规则,将所要显示出来的文字、图象、声音等要素按照一定的标准要求排放,形成一定的标题、段落、列表等单元。,Css层叠样式表,CSS层叠样式表是一系列格式设置的规则,它们控制网页内容的外观。使用CSS设置页面格式时,可以将内容与表现形式分开。网页内容(即HTML代码)驻留在HTML文件自身中,而用于定义代码表现形式的CSS规则驻留在另一个文件(外部样式表)或HT

10、ML文档的另一部分(通常为文件头部分)中。使用CSS可以更加灵活地控制具体的页面外观,从精确的布局定位到特定的字体和样式。CSS允许控制HTML无法独自控制的许多属性。例如,可以为选定的文本指定不同的字体大小和单位(像素、磅值等)。通过CSS可以用像素为单位来设置字体大小,从而可以确保在多个浏览器中以更一致的方式处理页面布局和外观。除设置文本格式外,还可以使用CSS控制网页中块级别元素的格式和定位。例如,可以设置块级别元素的边距和边框,其他文本周围的浮动文本等。,Javascript,1. 是一种解释性脚本语言(代码不进行预编译)。2. 主要用来向HTML(标准通用标记语言下的一个应用)页面添

11、加交互行为。3. 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。4. 跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。,一般用途1. 嵌入动态文本于HTML页面。2. 对浏览器事件做出响应。3. 读写HTML元素。4. 在数据被提交到服务器之前验证数据。5. 检测访客的浏览器信息。6. 控制cookies,包括创建和修改等。7. 基于Node.js技术进行服务器端编程。,三者的定位,HTML 定义了网页的内容CSS 描述了网页的布局JavaScript 网页的行为,Bootstrap,Boot

12、strap,来自 Twitter ,Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。,Highcharts,Highcharts 系列软件包含 Highcharts JS,Highstock JS,Highmaps JS 共三款软件,均为纯 JavaScript 编写的 HTML5 图表库,全部源码开放,个人及非商业用途可以任意使用及源代码编辑。,Django框架,Python web框架,Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集

13、成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。,Django框架,Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。,Django 特点,与Memcached, Redis等缓存系统联用,更出色的表现,更快的加载速度。,缓存系统,强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理

14、。注:前后端分离时,也可以用Django开发API,完全不用模板系统。,模板系统,用正则匹配网址,传递到对应函数,随意定义,如你所想!,优雅的网址,几行简单的代码就让你的网站拥有一个强大的后台,轻松管理内容!,自带强大后台,拥有强大的数据库操作接口(QuerySet API),如需要也能执行原生SQL。,强大的数据库功能,Django流程图,Django安装,1、安装Python下载地址:https:/www.python.org/downloads/注意把pip安装也勾上2、安装Djangocmd命令行上执行pip install Django=1.11.113、新建一个 django pr

15、oject找到Python安装目录下的Libsite-packagesdjangobindjango-admin.pypython django-admin.py startproject project_name执行后会在当前目录生成一个以project_name为名的目录,进入目录可以看到manage.py这个文件4、新建apppython manage.py startapp myapp5、把我们新定义的app加到settings.py中的INSTALL_APPS中,Django安装,ALLOWED_HOSTS = 改为 ALLOWED_HOSTS = *,允许所有的ip访问网站如果开发

16、过程需要用到MySQL数据库,将默认的sqlite数据库改为MySQL,在之前需要再MySQL上建数据库、建用户,用于连接数据库存储数据。DATABASES = default: ENGINE: django.db.backends.sqlite3, NAME: os.path.join(BASE_DIR, db.sqlite3), 改为DATABASES = default: ENGINE: django.db.backends.mysql, NAME: mysite, HOST:127.0.0.1, PORT:3306, USER:root, PASSWORD:123, ,基于Django

17、架构的个人日常账单网站,我们来做一个简单的个人网站,将我们生活中产生的账单记录、查看及归类分析,使用刚才讲到的知识来进行开发。,数据库表的设计以及Django models模块,修改models.py文件:from django.db import models# Create your models here.class bill(models.Model): cdate = models.DateTimeField() money = models.DecimalField(max_digits=12, decimal_places=2) info = models.CharField(m

18、ax_length=256) consumetype = models.CharField(max_length=256) 如果没有安装MySQLclient,请安装,MySQLclient用于Python连接MySQL数据库下载mysqlclient-1.3.12-cp36-cp36m-win32.whl,安装pip install mysqlclient-1.3.12-cp36-cp36m-win32.whl生成迁移文件python manage.py makemigrations执行迁移的命令python manage.py migrate,搭建入账网页,修改urls.py,用于关联网址

19、和views.py中定义的函数from django.conf.urls import urlfrom django.contrib import adminfrom myapp import viewsurlpatterns = url(radmin/, admin.site.urls), url(r$, views.home, name=home),制作表单,在myapp目录下新建forms.py,内容一下# coding:utf-8from django import formsclass billForm(forms.Form): cdate = forms.DateTimeField

20、(label=账单日期) money = forms.DecimalField(label=金额,max_digits=12, decimal_places=2) info = forms.CharField(label=账单用途,max_length=256) consumetype = forms.CharField(label=账单类型,max_length=256),搭建入账网页(2),在views.py里增加函数# coding:utf-8from django.shortcuts import renderfrom django.http import HttpResponsefr

21、om .forms import billFormfrom myapp.models import bill# Create your views here.def home(request): if request.method = POST:# 当提交表单时 form = billForm(request.POST) # form 包含提交的数据 if form.is_valid():# 如果提交的数据合法 a = form.cleaned_datacdate b = form.cleaned_datamoney c = form.cleaned_datainfo d = form.cle

22、aned_dataconsumetype e = bill(cdate=a, money=b,info=c,consumetype=d) e.save()# return HttpResponse(提交成功) else:# 当正常访问时 form = billForm() return render(request, home.html, form: form),搭建入账网页(3),在myapp目录下新建static文件夹,其下再新建2个文件夹js、css,将bootstrap的文件放入待引用staticcssbootstrap.min.css、 staticjsbootstrap.min.j

23、s 、 staticjsjquery-1.8.3.min.js在myapp目录下新建templates文件夹,其下新建模板home.html,内容如下启动Django应用python manage.py runserver 0.0.0.0:8000,欢迎来记账.center margin: auto; width: 80%; padding: 10px;,我的账单入账查账结算% csrf_token % form ,搭建查账网页(1),修改urls.py加入新网址url(rcheck$, views.check, name=check),修改views.py加入视图函数from django.

24、db import connection,transactiondef check(request): cursor = connection.cursor() cursor.execute(select * from myapp_bill) allbill = cursor.fetchall() return render(request, check.html, allbill: allbill),搭建查账网页(2),Templates目录下新建模板check.html,欢迎来查账我的账单入账查账结算, 日期 详细信息 账单类别 金额(元) % for bill in allbill %

25、bill.1|date:Y-m-d H:i:s bill.3 bill.4 bill.2 % endfor % ,搭建归类统计网页(1),修改urls.py加入新网址url(rsettle$, views.settle, name=settle),修改views.py加入视图函数def settle(request): cursor = connection.cursor() cursor.execute(select consumetype,sum(money) from myapp_bill group by consumetype) alltype = cursor.fetchall()

26、 return render(request, settle.html, alltype: alltype) 到highcharts官网下载图形js库highcharts.js,放到myappstaticjs目录下,搭建归类统计网页(2),Templates目录下新建模板settle.html,归类统计我的账单入账查账结算,$(function () $(#container1).highcharts( chart: plotBackgroundColor: null, plotBorderWidth: null, plotShadow: false , title: text: 账单分类统计

27、 , tooltip: headerFormat: series.name, pointFormat: point.name: point.percentage:.1f% ,搭建归类统计网页(3),Templates目录下新建模板settle.html,plotOptions: pie: allowPointSelect: true, cursor: pointer, dataLabels: enabled: true, format: point.name: point.percentage:.1f %, style: color: (Highcharts.theme ,网站完成后截图(1),网站完成后截图(2),网站完成后截图(3),PPT模板下载: 行业PPT模板: 节日PPT模板: PPT素材下载: PPT图表下载: 优秀PPT下载: PPT教程: Word教程: Excel教程: 资料下载: PPT课件下载: 范文下载: 试卷下载: 教案下载: PPT论坛:,8,39,感谢您的聆听,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com