1、812 0 1Excellent courseware1Python运维开发概述2Python脚本与后台开发3Python web开发目录 CONTENTSExcellent coursewarePython运维开发概述Excellent coursewarePython是什么是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python目前流行的版本有2.x和3.x,这2个版本区别大,开发的代码不兼容,Linux上自带的是Python2.x。许多大型网站就是用Python开发的,例如YouTube、Insta
2、gram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。Python广泛用于脚本开发、爬虫、科学计算、图像处理、数据分析Python图形化开发工具Python IDE :PyCharmExcellent coursewareTIOBE排行榜Excellent courseware运维开发是什么工作职责:1、负责运营支撑平台、运维自动化平台及其组件的设计和开发;2、负责优化、改进运维支持系统,并保证其安全高效稳定的运行;3、参与运营平台、运维系统的需求分析、设计、编码;4、负责开发、完善运维内部系统及辅助系统,提升运维质量及效
3、率;开发的语言选择:python、java、shell和web前端开发Python开发的运维工具:Ansible、SaltStackExcellent courseware运维开发的团队模式纯开发团队开发,编程技术熟练,能快速形成产品,但是开发的产品可能不符合运维人员的习惯,运维人员不爱用纯开发团队开发运维人员编程能力不高,学习成本高,但熟悉运维技术,产出的产品运维团队会常用。运维人员独自开发 运维人员当产品经理,利用程序员强大的开发能力,按照运维的需求去开发运维带领开发人员团队模式Excellent courseware运维开发为什么选Python简单易学python非常简单,非常适合人类阅
4、读,伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。开源你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中可移植性Python程序无需修改就可以在下述任何平台上面运行,Linux、Windows、FreeBSD、Macintosh、Solaris(只列出部分)丰富的库正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI可扩展性和可嵌入性Python代码中可嵌入c/c+等代码,也可以把Python嵌入你的C/C+程序面向对象与其他主要
5、的语言如C+和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。Python优点Excellent coursewarePython脚本与后台开发Excellent coursewarePython发送微信#coding:utf-8import urllib.requestimport jsonimport sysdef wechat(warns):corp_id=企业微信id corp_secret=企业微信密码 content=warns gettoken_url=https:/ token_file=urllib.request.urlopen(gettoken_ur
6、l)token_data=token_file.read().decode(utf-8)token_json=json.loads(token_data)token_json.keys()token=token_jsonaccess_token send_url=https:/ send_values=touser:all,msgtype:text,agentid:1,text:content:content ,safe:0 send_data=json.dumps(send_values,ensure_ascii=False).encode(encoding=UTF8)send_reques
7、t=urllib.request.Request(send_url,send_data)response=urllib.request.urlopen(send_request)msg=response.read()messages=sys.argv1wechat(messages)Excellent coursewarePython任务调度模块安装APScheduler非常简单:pip install apscheduler#coding:utf-8from apscheduler.schedulers.blocking import BlockingSchedulerimport date
8、timedef job1():print(我5秒执行一次)def job2():print(我在特定时间执行)sched=BlockingScheduler()sched.add_job(job1,interval,seconds=5)sched.add_job(job2,date,run_date=2018-03-27 11:39:35)sched.start()Excellent coursewarePython使用数据库连接SqlServer模块pymssql,连接oracle模块cx_oracle,连接MySQL模块MySQLclient下面演示使用MySQL数据库如果没有安装MySQ
9、Lclient,请安装,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.connect(host=localhost,port=3306,user=admin,passwd=admin,db=django,charset=utf8)cur=conn.cursor()cur.execute(select*from mya
10、pp_bill)data=cur.fetchall()print(data)cur.close()conn.close()Excellent courseware数据库性能管理平台介绍数据库数据库数据库collecterWeb服务器Python编写的数据库性能信息收集后台,自动去数据库中获取性能数据,处理并存储在本地数据库中Python web架构Django编写的前端页面,用于展示性能图表,性能分析,自动优化,后台管理等,可帮助dba、开发、应用管理员管理数据库。Excellent coursewarePython web开发Excellent coursewareHTML超文本标记语言HT
11、ML 语言是一种超文本的标记语言,简单来讲就是构建一套标记符号和语法规则,将所要显示出来的文字、图象、声音等要素按照一定的标准要求排放,形成一定的标题、段落、列表等单元。Excellent coursewareCss层叠样式表CSS层叠样式表是一系列格式设置的规则,它们控制网页内容的外观。使用CSS设置页面格式时,可以将内容与表现形式分开。网页内容(即HTML代码)驻留在HTML文件自身中,而用于定义代码表现形式的CSS规则驻留在另一个文件(外部样式表)或HTML文档的另一部分(通常为文件头部分)中。使用CSS可以更加灵活地控制具体的页面外观,从精确的布局定位到特定的字体和样式。CSS允许控制
12、HTML无法独自控制的许多属性。例如,可以为选定的文本指定不同的字体大小和单位(像素、磅值等)。通过CSS可以用像素为单位来设置字体大小,从而可以确保在多个浏览器中以更一致的方式处理页面布局和外观。除设置文本格式外,还可以使用CSS控制网页中块级别元素的格式和定位。例如,可以设置块级别元素的边距和边框,其他文本周围的浮动文本等。Excellent coursewareJavascript1.是一种解释性脚本语言(代码不进行预编译)。2.主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。3.可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。4.跨平台特性,在
13、绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。一般用途1.嵌入动态文本于HTML页面。2.对浏览器事件做出响应。3.读写HTML元素。4.在数据被提交到服务器之前验证数据。5.检测访客的浏览器信息。6.控制cookies,包括创建和修改等。7.基于Node.js技术进行服务器端编程。Excellent courseware三者的定位HTML 定义了网页的内容CSS 描述了网页的布局JavaScript 网页的行为Excellent coursewareBootstrapBootstrap,来自 Twitter,Bootstrap
14、 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。Excellent coursewareHighchartsHighcharts 系列软件包含 Highcharts JS,Highstock JS,Highmaps JS 共三款软件,均为纯 JavaScript 编写的 HTML5 图表库,全部源码开放,个人及非商业用途可以任意使用及源代码编辑。Excellent coursewareDjango框架Python web框架Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大
15、而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。Django框架Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。Excellent coursewareDjango 特点与Memcached,Redis等缓存系统联用,更出色的表现,更快的加载速度。缓存系统强大,易扩展的模板系统
16、,设计简易,代码,样式分开设计,更容易管理。注:前后端分离时,也可以用Django开发API,完全不用模板系统。模板系统用正则匹配网址,传递到对应函数,随意定义,如你所想!优雅的网址几行简单的代码就让你的网站拥有一个强大的后台,轻松管理内容!自带强大后台拥有强大的数据库操作接口(QuerySet API),如需要也能执行原生SQL。强大的数据库功能Excellent coursewareDjango流程图Excellent coursewareDjango安装1、安装Python下载地址:https:/www.python.org/downloads/注意把pip安装也勾上2、安装Django
17、cmd命令行上执行pip install Django=1.11.113、新建一个 django project找到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中Excellent c
18、oursewareDjango安装ALLOWED_HOSTS=改为 ALLOWED_HOSTS=*,允许所有的ip访问网站如果开发过程需要用到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.
19、0.1,PORT:3306,USER:root,PASSWORD:123,Excellent courseware基于Django架构的个人日常账单网站我们来做一个简单的个人网站,将我们生活中产生的账单记录、查看及归类分析,使用刚才讲到的知识来进行开发。Excellent courseware数据库表的设计以及Django models模块修改models.py文件:from django.db import models#Create your models here.class bill(models.Model):cdate =models.DateTimeField()money=mo
20、dels.DecimalField(max_digits=12,decimal_places=2)info=models.CharField(max_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 m
21、akemigrations执行迁移的命令python manage.py migrateExcellent courseware搭建入账网页修改urls.py,用于关联网址和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-8
22、from django import formsclass billForm(forms.Form):cdate =forms.DateTimeField(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)Excellent courseware搭建入账网页(2)在views.py里增加函数#c
23、oding:utf-8from django.shortcuts import renderfrom django.http import HttpResponsefrom.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_data
24、cdate b=form.cleaned_datamoney c=form.cleaned_datainfo d=form.cleaned_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)Excellent courseware搭建入账网页(3)在myapp目录下新建static文件夹,其下再新建2个文件夹js、css
25、,将bootstrap的文件放入待引用staticcssbootstrap.min.css、staticjsbootstrap.min.js、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 Excellent courseware搭建查账网页(1)修改url
26、s.py加入新网址url(rcheck$,views.check,name=check),修改views.py加入视图函数from django.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)Excellent courseware搭建查账网页(2)Templates
27、目录下新建模板check.html欢迎来查账我的账单入账查账结算 日期 详细信息 账单类别 金额(元)%for bill in allbill%bill.1|date:Y-m-d H:i:s bill.3 bill.4 bill.2%endfor%Excellent courseware搭建归类统计网页(1)修改urls.py加入新网址url(rsettle$,views.settle,name=settle),修改views.py加入视图函数def settle(request):cursor=connection.cursor()cursor.execute(select consumet
28、ype,sum(money)from myapp_bill group by consumetype)alltype=cursor.fetchall()return render(request,settle.html,alltype:alltype)到highcharts官网下载图形js库highcharts.js,放到myappstaticjs目录下Excellent courseware搭建归类统计网页(2)Templates目录下新建模板settle.html归类统计我的账单入账查账结算$(function()$(#container1).highcharts(chart:plotBa
29、ckgroundColor:null,plotBorderWidth:null,plotShadow:false ,title:text:账单分类统计 ,tooltip:headerFormat:series.name,pointFormat:point.name:point.percentage:.1f%,Excellent courseware搭建归类统计网页(3)Templates目录下新建模板settle.html plotOptions:pie:allowPointSelect:true,cursor:pointer,dataLabels:enabled:true,format:po
30、int.name:point.percentage:.1f%,style:color:(Highcharts.theme&Highcharts.theme.contrastTextColor)|black ,series:type:pie,name:账单分类占比,data:%for billtype in alltype%billtype.0,billtype.1,%endfor%););Excellent courseware网站完成后截图(1)Excellent courseware网站完成后截图(2)Excellent courseware网站完成后截图(3)Excellent coursewarePPT模板下载: 8392 0 1Excellent courseware