Python运维开发实战培训课件_第1页
Python运维开发实战培训课件_第2页
Python运维开发实战培训课件_第3页
Python运维开发实战培训课件_第4页
Python运维开发实战培训课件_第5页
已阅读5页,还剩73页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

81201Python运维开发基础软件系统组Excellentcourseware81201Python运维开发基础软件系统组Excellen1Python运维开发概述2Python脚本与后台开发3Python

web开发目录CONTENTSExcellentcourseware1Python运维开发概述2Python脚本与后台开发3Py201Python运维开发概述Excellentcourseware01Python运维开发概述Excellentcourse3Python是什么是一种面向对象的解释型计算机程序设计语言,由荷兰人GuidovanRossum于1989年发明,第一个公开发行版发行于1991年。Python目前流行的版本有2.x和3.x,这2个版本区别大,开发的代码不兼容,Linux上自带的是Python2.x。许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。Python广泛用于脚本开发、爬虫、科学计算、图像处理、数据分析Python图形化开发工具PythonIDE

:PyCharmExcellentcoursewarePython是什么是一种面向对象的解释型计算机程序设计语言,4TIOBE排行榜ExcellentcoursewareTIOBE排行榜Excellentcourseware5运维开发是什么工作职责:

1、负责运营支撑平台、运维自动化平台及其组件的设计和开发;

2、负责优化、改进运维支持系统,并保证其安全高效稳定的运行;

3、参与运营平台、运维系统的需求分析、设计、编码;

4、负责开发、完善运维内部系统及辅助系统,提升运维质量及效率;开发的语言选择:python、java、shell和web前端开发Python开发的运维工具:Ansible、SaltStackExcellentcourseware运维开发是什么工作职责:

1、负责运营支撑平台、运维自动化平6运维开发的团队模式纯开发团队开发,编程技术熟练,能快速形成产品,但是开发的产品可能不符合运维人员的习惯,运维人员不爱用纯开发团队开发运维人员编程能力不高,学习成本高,但熟悉运维技术,产出的产品运维团队会常用。运维人员独自开发

运维人员当产品经理,利用程序员强大的开发能力,按照运维的需求去开发运维带领开发人员团队模式Excellentcourseware运维开发的团队模式纯开发团队开发,编程技术熟练,能快速形成产7运维开发为什么选Python简单易学python非常简单,非常适合人类阅读,伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。开源你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中可移植性Python程序无需修改就可以在下述任何平台上面运行,Linux、Windows、FreeBSD、Macintosh、Solaris(只列出部分)丰富的库正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI可扩展性和可嵌入性Python代码中可嵌入c/c++等代码,也可以把Python嵌入你的C/C++程序面向对象与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。Python优点Excellentcourseware运维开发为什么选Python简单易学python非常简单,非802Python脚本与后台开发Excellentcourseware02Python脚本与后台开发Excellentcours9Python发送微信#coding:utf-8importurllib.requestimportjsonimportsysdefwechat(warns):corp_id=‘企业微信id'corp_secret=‘企业微信密码'content=warnsgettoken_url='/cgi-bin/gettoken?corpid='+corp_id+'&corpsecret='+corp_secrettoken_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_json['access_token']send_url='/cgi-bin/message/send?access_token='+tokensend_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_request=urllib.request.Request(send_url,send_data)response=urllib.request.urlopen(send_request)msg=response.read()messages=sys.argv[1]wechat(messages)ExcellentcoursewarePython发送微信#coding:utf-8Excel10Python任务调度模块安装APScheduler非常简单:pipinstallapscheduler#coding:utf-8fromapscheduler.schedulers.blockingimportBlockingSchedulerimportdatetimedefjob1():print('我5秒执行一次')defjob2():print('我在特定时间执行')

sched=BlockingScheduler()sched.add_job(job1,'interval',seconds=5)sched.add_job(job2,'date',run_date='2018-03-2711:39:35')sched.start()ExcellentcoursewarePython任务调度模块安装APScheduler非常简单:11Python使用数据库连接SqlServer模块pymssql,连接oracle模块cx_oracle,连接MySQL模块MySQLclient下面演示使用MySQL数据库如果没有安装MySQLclient,请安装,MySQLclient用于Python连接MySQL数据库下载mysqlclient-1.3.12-cp36-cp36m-win32.whl,安装pipinstallmysqlclient-1.3.12-cp36-cp36m-win32.whl#coding=utf-8importMySQLdbconn=MySQLdb.connect(host='localhost',port=3306,user='admin',passwd='admin',db='django',charset='utf8')cur=conn.cursor()cur.execute('select*frommyapp_bill')data=cur.fetchall()print(data)cur.close()conn.close()ExcellentcoursewarePython使用数据库连接SqlServer模块pymssq12数据库性能管理平台介绍数据库数据库数据库collecterWeb服务器Python编写的数据库性能信息收集后台,自动去数据库中获取性能数据,处理并存储在本地数据库中Pythonweb架构Django编写的前端页面,用于展示性能图表,性能分析,自动优化,后台管理等,可帮助dba、开发、应用管理员管理数据库。Excellentcourseware数据库性能管理平台介绍数据库数据库数据库collecterW1303Pythonweb开发Excellentcourseware03Pythonweb开发Excellentcourse14HTML超文本标记语言HTML语言是一种超文本的标记语言,简单来讲就是构建一套标记符号和语法规则,将所要显示出来的文字、图象、声音等要素按照一定的标准要求排放,形成一定的标题、段落、列表等单元。ExcellentcoursewareHTML超文本标记语言HTML语言是一种超文本的标记语言,15Css层叠样式表CSS层叠样式表是一系列格式设置的规则,它们控制网页内容的外观。使用CSS设置页面格式时,可以将内容与表现形式分开。网页内容(即HTML代码)驻留在HTML文件自身中,而用于定义代码表现形式的CSS规则驻留在另一个文件(外部样式表)或HTML文档的另一部分(通常为文件头部分)中。使用CSS可以更加灵活地控制具体的页面外观,从精确的布局定位到特定的字体和样式。CSS允许控制HTML无法独自控制的许多属性。例如,可以为选定的文本指定不同的字体大小和单位(像素、磅值等)。通过CSS可以用像素为单位来设置字体大小,从而可以确保在多个浏览器中以更一致的方式处理页面布局和外观。除设置文本格式外,还可以使用CSS控制网页中块级别元素的格式和定位。例如,可以设置块级别元素的边距和边框,其他文本周围的浮动文本等。ExcellentcoursewareCss层叠样式表CSS层叠样式表是一系列格式设置的规则,它们16Javascript1.是一种解释性脚本语言(代码不进行预编译)。2.主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。3.可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。4.跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。一般用途1.嵌入动态文本于HTML页面。2.对浏览器事件做出响应。3.读写HTML元素。4.在数据被提交到服务器之前验证数据。5.检测访客的浏览器信息。6.控制cookies,包括创建和修改等。7.基于Node.js技术进行服务器端编程。ExcellentcoursewareJavascript1.是一种解释性脚本语言(代码不进行预17三者的定位HTML定义了网页的内容CSS描述了网页的布局JavaScript网页的行为Excellentcourseware三者的定位HTML定义了网页的内容Excellentco18BootstrapBootstrap,来自Twitter

,Bootstrap是最受欢迎的HTML、CSS和JS框架,用于开发响应式布局、移动设备优先的WEB项目。ExcellentcoursewareBootstrapBootstrap,来自Twitter19HighchartsHighcharts系列软件包含HighchartsJS,HighstockJS,HighmapsJS共三款软件,均为纯JavaScript编写的HTML5图表库,全部源码开放,个人及非商业用途可以任意使用及源代码编辑。ExcellentcoursewareHighchartsHighcharts系列软件包含Hi20Django框架Pythonweb框架Python的WEB框架有Django、Tornado、Flask等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。Django框架Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手DjangoReinhardt来命名的。ExcellentcoursewareDjango框架Pythonweb框架Python的WEB21Django特点与Memcached,Redis等缓存系统联用,更出色的表现,更快的加载速度。缓存系统强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理。注:前后端分离时,也可以用Django开发API,完全不用模板系统。模板系统用正则匹配网址,传递到对应函数,随意定义,如你所想!优雅的网址几行简单的代码就让你的网站拥有一个强大的后台,轻松管理内容!自带强大后台拥有强大的数据库操作接口(QuerySetAPI),如需要也能执行原生SQL。强大的数据库功能ExcellentcoursewareDjango特点与Memcached,Redis等缓存系22Django流程图ExcellentcoursewareDjango流程图Excellentcourseware23Django安装1、安装Python下载地址:https:///downloads/注意把pip安装也勾上2、安装Djangocmd命令行上执行pipinstallDjango==1.11.113、新建一个djangoproject找到Python安装目录下的Lib\site-packages\django\bin\django-admin.pypythondjango-admin.pystartprojectproject_name执行后会在当前目录生成一个以project_name为名的目录,进入目录可以看到manage.py这个文件4、新建apppythonmanage.pystartappmyapp5、把我们新定义的app加到settings.py中的INSTALL_APPS中ExcellentcoursewareDjango安装1、安装PythonExcellentco24Django安装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':'','PORT':'3306','USER':'root','PASSWORD':'123',}}ExcellentcoursewareDjango安装ALLOWED_HOSTS=[]改为25基于Django架构的个人日常账单网站我们来做一个简单的个人网站,将我们生活中产生的账单记录、查看及归类分析,使用刚才讲到的知识来进行开发。Excellentcourseware基于Django架构的个人日常账单网站我们来做一个简单的个人26数据库表的设计以及Djangomodels模块修改models.py文件:fromdjango.dbimportmodels#Createyourmodelshere.classbill(models.Model):cdate=models.DateTimeField()money=models.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,安装pipinstallmysqlclient-1.3.12-cp36-cp36m-win32.whl生成迁移文件pythonmanage.pymakemigrations执行迁移的命令pythonmanage.pymigrateExcellentcourseware数据库表的设计以及Djangomodels模块修改mode27搭建入账网页修改urls.py,用于关联网址和views.py中定义的函数fromdjango.conf.urlsimporturlfromdjango.contribimportadminfrommyappimportviewsurlpatterns=[url(r'^admin/',admin.site.urls),url(r'^$',views.home,name='home'),]制作表单,在myapp目录下新建forms.py,内容一下#coding:utf-8fromdjangoimportformsclassbillForm(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)Excellentcourseware搭建入账网页修改urls.py,用于关联网址和views.p28搭建入账网页(2)在views.py里增加函数#coding:utf-8fromdjango.shortcutsimportrenderfromdjango.httpimportHttpResponsefrom.formsimportbillFormfrommyapp.modelsimportbill#Createyourviewshere.defhome(request):ifrequest.method=='POST':#当提交表单时

form=billForm(request.POST)#form包含提交的数据

ifform.is_valid():#如果提交的数据合法

a=form.cleaned_data['cdate']b=form.cleaned_data['money']c=form.cleaned_data['info']d=form.cleaned_data['consumetype']e=bill(cdate=a,money=b,info=c,consumetype=d)e.save()#returnHttpResponse('提交成功')

else:#当正常访问时

form=billForm()returnrender(request,'home.html',{'form':form})Excellentcourseware搭建入账网页(2)在views.py里增加函数Excelle29搭建入账网页(3)在myapp目录下新建static文件夹,其下再新建2个文件夹js、css,将bootstrap的文件放入待引用\static\css\bootstrap.min.css、\static\js\bootstrap.min.js、\static\js\jquery-1.8.3.min.js在myapp目录下新建templates文件夹,其下新建模板home.html,内容如下启动Django应用pythonmanage.pyrunserver:8000<!DOCTYPEhtml><html><head> <metacharset="utf-8"> <title>欢迎来记账</title> <linkrel="stylesheet"href="/static/css/bootstrap.min.css"> <scriptsrc="/static/css/jquery-1.8.3.min.js"></script> <scriptsrc="/static/css/bootstrap.min.js"></script> <style>.center{margin:auto;width:80%;padding:10px;}</style></head><body><navclass="navbarnavbar-default"role="navigation"> <divclass="container-fluid"> <divclass="navbar-header"> <spanclass="navbar-brand"href="#">我的账单</span> </div> <div> <ulclass="navnavbar-nav"> <liclass="active"><ahref="/">入账</a></li> <li><ahref="/check">查账</a></li> <li><ahref="/settle">结算</a></li> </ul> </div> </div></nav><divclass="center"><formmethod='post'>{%csrf_token%}{{form}}<inputtype="submit"value="提交"></form></div></body></html>Excellentcourseware搭建入账网页(3)在myapp目录下新建static文件夹,30搭建查账网页(1)修改urls.py加入新网址url(r'^check$',views.check,name='check'),修改views.py加入视图函数fromdjango.dbimportconnection,transactiondefcheck(request): cursor=connection.cursor() cursor.execute('select*frommyapp_bill') allbill=cursor.fetchall() returnrender(request,'check.html',{'allbill':allbill}) Excellentcourseware搭建查账网页(1)修改urls.py加入新网址Excelle31搭建查账网页(2)Templates目录下新建模板check.html

<!DOCTYPEhtml><html><head> <metacharset="utf-8"> <title>欢迎来查账</title> <linkrel="stylesheet"href="/static/css/bootstrap.min.css"> <scriptsrc="/static/js/jquery-1.8.3.min.js"></script> <scriptsrc="/static/js/bootstrap.min.js"></script></head><body><navclass="navbarnavbar-default"role="navigation"> <divclass="container-fluid"> <divclass="navbar-header"> <spanclass="navbar-brand"href="#">我的账单</span> </div> <div> <ulclass="navnavbar-nav"> <li><ahref="/">入账</a></li> <liclass="active"><ahref="/check">查账</a></li> <li><ahref="/settle">结算</a></li> </ul> </div> </div></nav><divclass="container"><tableclass="tabletable-striped"><thead><tr><thstyle="text-align:center;">日期</th><thstyle="text-align:center;">详细信息</th><thstyle="text-align:center;">账单类别</th><thstyle="text-align:center;">金额(元)</th></tr></thead><tbody>{%forbillinallbill%}<tr><tdstyle="text-align:center;">'{{bill.1|date:"Y-m-dH:i:s"}}'</td><tdstyle="text-align:center;">'{{bill.3}}'</td><tdstyle="text-align:center;">'{{bill.4}}'</td><tdstyle="text-align:center;">'{{bill.2}}'</td></tr>{%endfor%}</tbody></table></div></body></html>Excellentcourseware搭建查账网页(2)Templates目录下新建模板check32搭建归类统计网页(1)修改urls.py加入新网址url(r'^settle$',views.settle,name='settle'),修改views.py加入视图函数defsettle(request): cursor=connection.cursor() cursor.execute('selectconsumetype,sum(money)frommyapp_billgroupbyconsumetype') alltype=cursor.fetchall() returnrender(request,'settle.html',{'alltype':alltype}) 到highcharts官网下载图形js库highcharts.js,放到\myapp\static\js目录下

Excellentcourseware搭建归类统计网页(1)修改urls.py加入新网址Excel33搭建归类统计网页(2)Templates目录下新建模板settle.html<!DOCTYPEhtml><html><head> <metacharset="utf-8"> <title>归类统计</title> <linkrel="stylesheet"href="/static/css/bootstrap.min.css"> <scriptsrc="/static/js/jquery-1.8.3.min.js"></script> <scriptsrc="/static/js/bootstrap.min.js"></script> <scriptsrc="/static/js/highcharts.js"></script> <style></style></head><body><navclass="navbarnavbar-default"role="navigation"> <divclass="container-fluid"> <divclass="navbar-header"> <spanclass="navbar-brand"href="#">我的账单</span> </div> <div> <ulclass="navnavbar-nav"> <li><ahref="/">入账</a></li> <li><ahref="/check">查账</a></li> <liclass="active"><ahref="/settle">结算</a></li> </ul> </div> </div></nav><divclass="container"><divid="container1"style="min-width:400px;height:400px"></div></div><script> $(function(){$('#container1').highcharts({chart:{plotBackgroundColor:null,plotBorderWidth:null,plotShadow:false},title:{text:'账单分类统计'},tooltip:{headerFormat:'{}<br>',pointFormat:'{}:<b>{point.percentage:.1f}%</b>'},Excellentcourseware搭建归类统计网页(2)Templates目录下新建模板set34搭建归类统计网页(3)Templates目录下新建模板settle.htmlplotOptions:{pie:{allowPointSelect:true,cursor:'pointer',dataLabels:{enabled:true,format:'<b>{}</b>:{point.percentage:.1f}%',style:{color:(Highcharts.theme&&Highcharts.theme.contrastTextColor)||'black'}}}},series:[{type:'pie',name:'账单分类占比',data:[{%forbilltypeinalltype%}['{{billtype.0}}',{{billtype.1}}],{%endfor%}]}]});});</script></body></html>Excellentcourseware搭建归类统计网页(3)Templates目录下新建模板set35网站完成后截图(1)Excellentcourseware网站完成后截图(1)Excellentcourseware36网站完成后截图(2)Excellentcourseware网站完成后截图(2)Excellentcourseware37网站完成后截图(3)Excellentcourseware网站完成后截图(3)Excellentcourseware38PPT模板下载:/moban/行业PPT模板:/hangye/节日PPT模板:/jieri/PPT素材下载:/sucai/PPT背景图片:/beijing/PPT图表下载:/tubiao/优秀PPT下载:/xiazai/PPT教程:/powerpoint/Word教程:/word/Excel教程:/excel/资料下载:/ziliao/PPT课件下载:/kejian/范文下载:/fanwen/试卷下载:/shiti/教案下载:/jiaoan/PPT论坛:

839201感谢您的聆听ExcellentcoursewarePPT模板下载:/moban/840201Python运维开发基础软件系统组Excellentcourseware81201Python运维开发基础软件系统组Excellen1Python运维开发概述2Python脚本与后台开发3Python

web开发目录CONTENTSExcellentcourseware1Python运维开发概述2Python脚本与后台开发3Py4101Python运维开发概述Excellentcourseware01Python运维开发概述Excellentcourse42Python是什么是一种面向对象的解释型计算机程序设计语言,由荷兰人GuidovanRossum于1989年发明,第一个公开发行版发行于1991年。Python目前流行的版本有2.x和3.x,这2个版本区别大,开发的代码不兼容,Linux上自带的是Python2.x。许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。Python广泛用于脚本开发、爬虫、科学计算、图像处理、数据分析Python图形化开发工具PythonIDE

:PyCharmExcellentcoursewarePython是什么是一种面向对象的解释型计算机程序设计语言,43TIOBE排行榜ExcellentcoursewareTIOBE排行榜Excellentcourseware44运维开发是什么工作职责:

1、负责运营支撑平台、运维自动化平台及其组件的设计和开发;

2、负责优化、改进运维支持系统,并保证其安全高效稳定的运行;

3、参与运营平台、运维系统的需求分析、设计、编码;

4、负责开发、完善运维内部系统及辅助系统,提升运维质量及效率;开发的语言选择:python、java、shell和web前端开发Python开发的运维工具:Ansible、SaltStackExcellentcourseware运维开发是什么工作职责:

1、负责运营支撑平台、运维自动化平45运维开发的团队模式纯开发团队开发,编程技术熟练,能快速形成产品,但是开发的产品可能不符合运维人员的习惯,运维人员不爱用纯开发团队开发运维人员编程能力不高,学习成本高,但熟悉运维技术,产出的产品运维团队会常用。运维人员独自开发

运维人员当产品经理,利用程序员强大的开发能力,按照运维的需求去开发运维带领开发人员团队模式Excellentcourseware运维开发的团队模式纯开发团队开发,编程技术熟练,能快速形成产46运维开发为什么选Python简单易学python非常简单,非常适合人类阅读,伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。开源你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中可移植性Python程序无需修改就可以在下述任何平台上面运行,Linux、Windows、FreeBSD、Macintosh、Solaris(只列出部分)丰富的库正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI可扩展性和可嵌入性Python代码中可嵌入c/c++等代码,也可以把Python嵌入你的C/C++程序面向对象与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。Python优点Excellentcourseware运维开发为什么选Python简单易学python非常简单,非4702Python脚本与后台开发Excellentcourseware02Python脚本与后台开发Excellentcours48Python发送微信#coding:utf-8importurllib.requestimportjsonimportsysdefwechat(warns):corp_id=‘企业微信id'corp_secret=‘企业微信密码'content=warnsgettoken_url='/cgi-bin/gettoken?corpid='+corp_id+'&corpsecret='+corp_secrettoken_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_json['access_token']send_url='/cgi-bin/message/send?access_token='+tokensend_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_request=urllib.request.Request(send_url,send_data)response=urllib.request.urlopen(send_request)msg=response.read()messages=sys.argv[1]wechat(messages)ExcellentcoursewarePython发送微信#coding:utf-8Excel49Python任务调度模块安装APScheduler非常简单:pipinstallapscheduler#coding:utf-8fromapscheduler.schedulers.blockingimportBlockingSchedulerimportdatetimedefjob1():print('我5秒执行一次')defjob2():print('我在特定时间执行')

sched=BlockingScheduler()sched.add_job(job1,'interval',seconds=5)sched.add_job(job2,'date',run_date='2018-03-2711:39:35')sched.start()ExcellentcoursewarePython任务调度模块安装APScheduler非常简单:50Python使用数据库连接SqlServer模块pymssql,连接oracle模块cx_oracle,连接MySQL模块MySQLclient下面演示使用MySQL数据库如果没有安装MySQLclient,请安装,MySQLclient用于Python连接MySQL数据库下载mysqlclient-1.3.12-cp36-cp36m-win32.whl,安装pipinstallmysqlclient-1.3.12-cp36-cp36m-win32.whl#coding=utf-8importMySQLdbconn=MySQLdb.connect(host='localhost',port=3306,user='admin',passwd='admin',db='django',charset='utf8')cur=conn.cursor()cur.execute('select*frommyapp_bill')data=cur.fetchall()print(data)cur.close()conn.close()ExcellentcoursewarePython使用数据库连接SqlServer模块pymssq51数据库性能管理平台介绍数据库数据库数据库collecterWeb服务器Python编写的数据库性能信息收集后台,自动去数据库中获取性能数据,处理并存储在本地数据库中Pythonweb架构Django编写的前端页面,用于展示性能图表,性能分析,自动优化,后台管理等,可帮助dba、开发、应用管理员管理数据库。Excellentcourseware数据库性能管理平台介绍数据库数据库数据库collecterW5203Pythonweb开发Excellentcourseware03Pythonweb开发Excellentcourse53HTML超文本标记语言HTML语言是一种超文本的标记语言,简单来讲就是构建一套标记符号和语法规则,将所要显示出来的文字、图象、声音等要素按照一定的标准要求排放,形成一定的标题、段落、列表等单元。ExcellentcoursewareHTML超文本标记语言HTML语言是一种超文本的标记语言,54Css层叠样式表CSS层叠样式表是一系列格式设置的规则,它们控制网页内容的外观。使用CSS设置页面格式时,可以将内容与表现形式分开。网页内容(即HTML代码)驻留在HTML文件自身中,而用于定义代码表现形式的CSS规则驻留在另一个文件(外部样式表)或HTML文档的另一部分(通常为文件头部分)中。使用CSS可以更加灵活地控制具体的页面外观,从精确的布局定位到特定的字体和样式。CSS允许控制HTML无法独自控制的许多属性。例如,可以为选定的文本指定不同的字体大小和单位(像素、磅值等)。通过CSS可以用像素为单位来设置字体大小,从而可以确保在多个浏览器中以更一致的方式处理页面布局和外观。除设置文本格式外,还可以使用CSS控制网页中块级别元素的格式和定位。例如,可以设置块级别元素的边距和边框,其他文本周围的浮动文本等。ExcellentcoursewareCss层叠样式表CSS层叠样式表是一系列格式设置的规则,它们55Javascript1.是一种解释性脚本语言(代码不进行预编译)。2.主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。3.可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。4.跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。一般用途1.嵌入动态文本于HTML页面。2.对浏览器事件做出响应。3.读写HTML元素。4.在数据被提交到服务器之前验证数据。5.检测访客的浏览器信息。6.控制cookies,包括创建和修改等。7.基于Node.js技术进行服务器端编程。ExcellentcoursewareJavascript1.是一种解释性脚本语言(代码不进行预56三者的定位HTML定义了网页的内容CSS描述了网页的布局JavaScript网页的行为Excellentcourseware三者的定位HTML定义了网页的内容Excellentco57BootstrapBootstrap,来自Twitter

,Bootstrap是最受欢迎的HTML、CSS和JS框架,用于开发响应式布局、移动设备优先的WEB项目。ExcellentcoursewareBootstrapBootstrap,来自Twitter58HighchartsHighcharts系列软件包含HighchartsJS,HighstockJS,HighmapsJS共三款软件,均为纯JavaScript编写的HTML5图表库,全部源码开放,个人及非商业用途可以任意使用及源代码编辑。ExcellentcoursewareHighchartsHighcharts系列软件包含Hi59Django框架Pythonweb框架Python的WEB框架有Django、Tornado、Flask等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。Django框架Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手DjangoReinhardt来命名的。ExcellentcoursewareDjango框架Pythonweb框架Python的WEB60Django特点与Memcached,Redis等缓存系统联用,更出色的表现,更快的加载速度。缓存系统强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理。注:前后端分离时,也可以用Django开发API,完全不用模板系统。模板系统用正则匹配网址,传递到对应函数,随意定义,如你所想!优雅的网址几行简单的代码就让你的网站拥有一个强大的后台,轻松管理内容!自带强大后台拥有强大的数据库操作接口(QuerySetAPI),如需要也能执行原生SQL。强大的数据库功能ExcellentcoursewareDjango特点与Memcached,Redis等缓存系61Django流程图ExcellentcoursewareDjango流程图Excellentcourseware62Django安装1、安装Python下载地址:https:///downloads/注意把pip安装也勾上2、安装Djangocmd命令行上执行pipinstallDjango==1.11.113、新建一个djangoproject找到Python安装目录下的Lib\site-packages\django\bin\django-admin.pypythondjango-admin.pystartprojectproject_name执行后会在当前目录生成一个以project_name为名的目录,进入目录可以看到manage.py这个文件4、新建apppythonmanage.pystartappmyapp5、把我们新定义的app加到settings.py中的INSTALL_APPS中ExcellentcoursewareDjango安装1、安装PythonExcellentco63Django安装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':'','PORT':'3306','USER':'root','PASSWORD':'123',}}ExcellentcoursewareDjango安装ALLOWED_HOSTS=[]改为64基于Django架构的个人日常账单网站我们来做一个简单的个人网站,将我们生活中产生的账单记录、查看及归类分析,使用刚才讲到的知识来进行开发。Excellentcourseware基于Django架构的个人日常账单网站我们来做一个简单的个人65数据库表的设计以及Djangomodels模块修改models.py文件:fromdjango.dbimportmodels#Createyourmodelshere.classbill(models.Model):cdate=models.DateTimeField()money=models.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,安装pipinstallmysqlclient-1.3.12-cp36-cp36m-win32.whl生成迁移文件pythonmanage.pymakemigrations执行迁移的命令pythonmanage.pymigrateExcellentcourseware数据库表的设计以及Djangomodels模块修改mode66搭建入账网页修改urls.py,用于关联网址和views.py中定义的函数fromdjango.conf.urlsimporturlfromdjango.contribimportadminfrommyappimportviewsurlpatterns=[url(r'^admin/',admin.site.urls),url(r'^$',views.home,name='home'),]制作表单,在myapp目录下新建forms.py,内容一下#coding:utf-8fromdjangoimportformsclassbillForm(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)Excellentcourseware搭建入账网页修改urls.py,用于关联网址和views.p67搭建入账网页(2)在views.py里增加函数#coding:utf-8fromdjango.shortcutsimportrenderfromdjango.httpimportHttpResponsefrom.formsimportbillFormfrommyapp.modelsimportbill#Createyourviewshere.defhome(request):ifrequest.method=='POST':#当提交表单时

form=billForm(request.POST)#form包含提交的数据

ifform.is_valid():#如果提交的数据合法

a=form.cleaned_data['cdate']b=form.cleaned_data['money']c=form.cleaned_data['info']d=form.cleaned_data['consumetype']e=bill(cdate=a,money=b,info=c,consumetype=d)e.save()#returnHttpResponse('提交成功')

else:#当正常访问时

form=billForm()returnrender(request,'home.html',{'form':form})Excellentcourseware搭建入账网页(2)在views.py里增加函数Excelle68搭建入账网页(3)在myapp目录下新建static文件夹,其下再新建2个文件夹js、css,将bootstrap的文件放入待引用\static\css\bootstrap.min.css、\static\js\bootstrap.min.js、\static\js\jquery-1.8.3.min.js在myapp目录下新建templates文件夹,其下新建模板home.html,内容如下启动Django应用pythonmanage.pyrunserver:8000<!DOCTYPEhtml><html><head> <metacharset="utf-8"> <title>欢迎来记账</title> <linkrel="stylesheet"href="/static/css/bootstrap.min.css"> <scriptsrc="/static/css/jquery-1.8.3.min.js"></script> <scriptsrc="/static/css/bootstrap.min.js"></script> <style>.center{margin:auto;width:80%;padding:10px;}</style></head><body><navclass="navbarnavbar-default"role="navigation"> <divclass="container-fluid"> <divclass="navbar-header"> <spanclass="navbar-brand"href="#">我的账单</span> </div> <div> <ulclass="navnavbar-nav"> <liclass="active"><ahref="/">入账</a></li> <li><ahref="/check">查账</a></li> <li><ahref="/settle">结算</a></li> </ul> </div> </div></nav><divclass="center"><formmethod='post'>{%csrf_token%}{{form}}<inputtype="submit"value="提交"></form></div></body></html>Excellentcourseware搭建入账网页(3)在myapp目录下新建static文件夹,69搭建查账网页(1)修改urls.py加入新网址url(r'^check$',views.check,name='check'),修改views.py加入视图函数fromdjango.dbimportconnection,transactiondefcheck(request): cursor=connection.cursor() cursor.execute('select*frommyapp_bill') allbill=cursor.fetchall() returnrender(request,'check.html',{'allbill':allbill}) Excellentcourseware搭建查账网页

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论