注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Python 3自動(dòng)化軟件發(fā)布系統(tǒng):Django 2實(shí)戰(zhàn)

Python 3自動(dòng)化軟件發(fā)布系統(tǒng):Django 2實(shí)戰(zhàn)

Python 3自動(dòng)化軟件發(fā)布系統(tǒng):Django 2實(shí)戰(zhàn)

定 價(jià):¥119.00

作 者: 陳剛,王洪軍 著
出版社: 北京航空航天大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787512430570 出版時(shí)間: 2020-01-01 包裝: 平裝
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書以新的Python 3.6以上版本為編程語言,以Django 2.1以上版本為Web框架,通過一步一步詳細(xì)講解,實(shí)現(xiàn)一個(gè)自動(dòng)化軟件部署系統(tǒng),并將所有代碼開源托管在Github網(wǎng)站上。 書中不但講解了Python的基礎(chǔ)知識(shí)、Django的模型、視圖、模板之間的關(guān)系,而且還通過實(shí)戰(zhàn)項(xiàng)目,介紹了Django Rest Framework(DRF)的開發(fā)步驟、Django Channels實(shí)現(xiàn)Websocket的編程技巧,以及Django TestCase、Mock等測試用例的編寫。 除此之外,對于IT公司在DevOps轉(zhuǎn)型過程中涉及的GitLab、Jenkins、SaltStack等CI/CD工具的安裝配置,以及自動(dòng)化軟件部署系統(tǒng)與之進(jìn)行交互的API,都有較深入的講解。 本書適合運(yùn)維研發(fā)領(lǐng)域的人員,或是有一定Python基礎(chǔ)但又想深入學(xué)習(xí)Python Web開發(fā)的廣大IT人員閱讀參考。

作者簡介

  陳剛,有關(guān)于大數(shù)據(jù)、軟件開發(fā)、電商網(wǎng)絡(luò)平臺(tái)、云計(jì)算和互聯(lián)網(wǎng)金融平臺(tái)等工作經(jīng)驗(yàn),現(xiàn)主要從事服務(wù)器網(wǎng)絡(luò)運(yùn)維及運(yùn)維開發(fā)相關(guān)的工作,主攻Docker容器技術(shù)及Kubernetes的自動(dòng)化運(yùn)維,開發(fā)語言以Python為主,且涉及php、java和go語言等。 王洪軍,有關(guān)于電商平臺(tái)開發(fā)經(jīng)驗(yàn),主攻運(yùn)維開發(fā)領(lǐng)域,在Docker容器技術(shù)及Kubernetes編排技術(shù)上有自己獨(dú)到的見解。

圖書目錄

第1章Python基礎(chǔ)1
1.1Python基本數(shù)據(jù)類型的常用操作5
1.1.1數(shù)字(Number)——人生不能只會(huì)做減法6
1.1.2字符串(String)——一入編碼深似海8
1.1.3列表(List)——古龍之七種武器10
1.1.4元組(Tuple)——一顆不變心14
1.1.5字典(Dictionary)——鍵值CP15
1.1.6集合(Set)——我們的集合無悖論16
1.2順序、分支及循環(huán)語句17
1.2.1順序編程——知所先后,則近道矣18
1.2.2分支語句——《交叉小徑的花園》19
1.2.3循環(huán)——《恐怖游輪》21
1.3函數(shù)和類22
1.3.1函數(shù)——好萊塢原則22
1.3.2類——有沒有對象,都累25
1.4并發(fā)編程28
1.4.1進(jìn)程池示例——《低俗小說》28
1.4.2線程池示例30
1.5模塊化31
1.6測試34
1.7小結(jié)39
第2章Django基礎(chǔ)42
2.1Web及HTTP42
2.1.1Web簡介42
2.1.2HTTP協(xié)議43
2.1.3HTTP協(xié)議方法44
2.2HTML、CSS、JavaScript45
2.2.1HTML45
2.2.2CSS45
2.2.3JS(JavaScript)46
2.2.4Python、Django是怎么和Web搭上關(guān)系的46
2.3Django簡介及Web實(shí)現(xiàn)48
2.3.1Django簡介48
2.3.2Python的Web服務(wù)器49
2.3.3Django模塊實(shí)現(xiàn)Web服務(wù)器49
2.4Django新建項(xiàng)目應(yīng)用及運(yùn)行機(jī)制50
2.4.1新建Django項(xiàng)目應(yīng)用50
2.4.2Django目錄及文件分析51
2.4.3Django框架的工作機(jī)制53
2.5Django視圖55
2.5.1基于函數(shù)的視圖55
2.5.2Django的HttpRequest對象58
2.5.3Django HttpRequest對象中的QueryDict對象59
2.5.4Django的HttpResponse對象59
2.6.1UrlConf簡介61
2.6.2UrlConf的Urlpatterns62
2.6.3UrlConf的路由分發(fā)63
2.6.4UrlConf的反向解析64
2.6.5UrlConf的命名空間65
2.7Django模板Template66
2.7.1Django Template Language簡介67
2.7.2Django Template加載配置及基本使用69
2.7.3Django Template的Render快捷使用71
2.8Django模型Model72
2.8.1Model ORM73
2.8.2Model示例73
2.8.3ORM常用Field及屬性77
2.8.4Django Shell操作ORM79
2.8.5函數(shù)視圖操作ORM(顯示board列表)81
2.8.6函數(shù)視圖操作ORM(顯示指定board的topic列表)83
2.8.7函數(shù)視圖操作ORM(新增topic)85
2.8.8函數(shù)視圖操作ORM(指定board的topic內(nèi)容)88
2.8.9類視圖操作ORM(顯示board列表)90
2.8.10Model的底層數(shù)據(jù)庫連接配置92
2.9Django表單Form93
2.10Django后臺(tái)管理Admin95
2.10.1Admin界面登錄95
2.10.2應(yīng)用Model的注冊96
2.10.3Model Admin自定義管理界面98
2.11Django測試99
2.12小結(jié)100
第3章自動(dòng)化軟件發(fā)布工作流101
3.1示例項(xiàng)目102
3.1.1編寫示例代碼102
3.1.2編譯項(xiàng)目105
3.1.3手工運(yùn)行106
3.1.4其他示例代碼107
3.2使用GitLab保存源代碼109
3.2.1建立用戶和項(xiàng)目組109
3.2.2建立項(xiàng)目113
3.2.3將本地代碼推送到GitLab中115
3.3使用Jenkins編譯項(xiàng)目120
3.4使用Nginx作為軟件倉庫125
3.4.1Jenkins和Nginx服務(wù)器之間免密碼登錄126
3.4.2安裝并配置Nginx服務(wù)器128
3.4.3安裝Jenkins插件128
3.4.4配置Jenkins Pipeline129
3.4.5驗(yàn)證130
3.5使用SaltStack推送服務(wù)端腳本132
3.5.1Salt Master及Salt Minion的安裝132
3.5.2通過Salt Master遠(yuǎn)程執(zhí)行腳本命令134
3.5.3SaltAPI配置137
3.5.4實(shí)現(xiàn)遠(yuǎn)程拉取軟件、啟停服務(wù)的腳本范例146
3.5.5測試151
3.6Jenkins REST API使用講解153
3.6.1Jenkins原生API的獲取154
3.6.2PythonJenkins庫的安裝159
3.6.3PythonJenkins的常用方式160
3.6.4封裝一個(gè)Python腳本,實(shí)現(xiàn)自動(dòng)化編譯軟件163
3.7GitLab REST API使用講解167
3.7.1PythonGitLab的安裝、配置167
3.7.2PythonGitLab常用功能使用169
3.7.3使用PythonGitLab獲取ZepBackendJava文件列表174
3.8小結(jié)175
第4章自動(dòng)化發(fā)布的數(shù)據(jù)庫模型176
4.1功能展示176
4.1.1用戶管理176
4.1.2應(yīng)用App的管理176
4.1.3服務(wù)器的管理178
4.1.4應(yīng)用權(quán)限的管理178
4.1.5發(fā)布單的新建及軟件包編譯179
4.1.6環(huán)境流轉(zhuǎn)179
4.1.7軟件發(fā)布180
4.1.8軟件流轉(zhuǎn)及發(fā)布?xì)v史181
4.2新建項(xiàng)目及App181
4.2.1新建目錄,通過Pip安裝相關(guān)模塊181
4.2.2新建項(xiàng)目及相關(guān)App181
4.2.3生成數(shù)據(jù)及管理員密碼182
4.2.4啟動(dòng)Django服務(wù)并驗(yàn)證184
4.2.5與PyCharm集成185
4.3調(diào)整文件內(nèi)容186
4.3.1中文及時(shí)區(qū)186
4.3.2App注冊187
4.3.3URL路由調(diào)整189
4.4Django Models的抽象基類190
4.5應(yīng)用數(shù)據(jù)表192
4.5.1models.py文件內(nèi)容192
4.5.2將應(yīng)用數(shù)據(jù)表遷移進(jìn)數(shù)據(jù)庫196
4.5.3生成模擬數(shù)據(jù)198
4.6環(huán)境數(shù)據(jù)表204
4.6.1models.py文件內(nèi)容204
4.6.2將環(huán)境數(shù)據(jù)表遷移進(jìn)數(shù)據(jù)庫204
4.6.3生成模擬數(shù)據(jù)206
4.7服務(wù)器數(shù)據(jù)表207
4.7.1models.py文件內(nèi)容207
4.7.2將服務(wù)器數(shù)據(jù)表遷移進(jìn)數(shù)據(jù)庫209
4.7.3生成模擬數(shù)據(jù)211
4.8發(fā)布單狀態(tài)數(shù)據(jù)表212
4.8.1models.py文件內(nèi)容213
4.8.2將發(fā)布狀態(tài)數(shù)據(jù)表遷移進(jìn)數(shù)據(jù)庫213
4.8.3生成模擬數(shù)據(jù)215
4.9發(fā)布單數(shù)據(jù)表216
4.9.1models.py文件內(nèi)容216
4.9.2將發(fā)布單數(shù)據(jù)表遷移進(jìn)數(shù)據(jù)庫220
4.9.3生成模擬數(shù)據(jù)221
4.10權(quán)限管理數(shù)據(jù)表224
4.10.1models.py文件內(nèi)容225
4.10.2將權(quán)限數(shù)據(jù)表遷移進(jìn)數(shù)據(jù)庫226
4.10.3生成模擬數(shù)據(jù)228
4.11歷史記錄數(shù)據(jù)表231
4.11.1models.py文件內(nèi)容231
4.11.2將歷史數(shù)據(jù)表遷移進(jìn)數(shù)據(jù)庫232
4.12理解Django Migrate(數(shù)據(jù)遷移)233
4.12.1Migrate原理234
4.12.2理解更新models.py文件的原理236
4.12.3重置migration238
4.13小結(jié)239
第5章用戶注冊登錄及密碼管理241
5.1用戶管理簡介241
5.2Web開發(fā)中的Cookie及Session242
5.2.1Cookie242
5.2.2Session243
5.3中間件(Middleware)及預(yù)安裝(INSTALLED_APPS)245
5.3.1Django框架中的Middleware245
5.3.2Django框架中的INSTALLED_APPS248
5.4用戶管理249
5.4.1用戶注冊250
5.4.2用戶認(rèn)證250
5.4.3用戶登錄250
5.4.4用戶退出251
5.4.5修改密碼251
5.5用戶組管理252
5.6Django權(quán)限功能253
5.6.1權(quán)限管理簡介253
5.6.2用戶權(quán)限254
5.6.3用戶組權(quán)限256
5.7Manabe用戶注冊256
5.7.1用戶注冊表單257
5.7.2用戶注冊視圖260
5.7.3用戶注冊模板262
5.7.4用戶注冊路由267
5.8Manabe用戶登錄及退出268
5.8.1用戶登錄表單268
5.8.2用戶登錄視圖269
5.8.3用戶登錄模板270
5.8.4用戶登錄路由272
5.9Manabe郵箱更改272
5.9.1郵箱更改表單273
5.9.2郵箱更改視圖274
5.9.3郵箱更改模板275
5.9.4郵箱更改路由276
5.10Manabe密碼更改277
5.10.1密碼更改表單277
5.10.2密碼更改視圖279
5.10.3密碼更改模板280
5.10.4密碼更改路由281
5.11Manabe通過郵箱重置密碼281
5.11.1Django郵件發(fā)送功能啟用282
5.11.2密碼重置路由注冊283
5.11.3密碼重置模板284
5.11.4Django內(nèi)置視圖總結(jié)291
5.12Manabe登錄驗(yàn)證碼294
5.13Manabe首頁297
5.13.1網(wǎng)站首頁視圖298
5.13.2網(wǎng)站模板298
5.13.3Django內(nèi)置視圖總結(jié)301
5.14小結(jié)302
第6章應(yīng)用錄入和服務(wù)器錄入303
6.1App服務(wù)錄入頁面303
6.1.1App服務(wù)網(wǎng)頁功能展示303
6.1.2錄入、編輯、展示的URL設(shè)置306
6.1.3App錄入的視圖308
6.1.4App錄入的表單312
6.1.5App錄入的模板318
6.1.6App錄入的瀏覽器驗(yàn)證323
6.2App服務(wù)編輯頁面323
6.2.1App編輯視圖323
6.2.2App編輯模板文件325
6.3App服務(wù)列表展示328
6.3.1App服務(wù)列表視圖328
6.3.2App服務(wù)列表模板文件330
6.4App服務(wù)詳情頁面336
6.4.1App服務(wù)詳情視圖336
6.4.2App服務(wù)詳情模板337
6.5App服務(wù)權(quán)限設(shè)計(jì)339
6.5.1Rightadmin權(quán)限模塊的路由340
6.5.2Rightadmin權(quán)限顯示342
6.5.3Rightadmin權(quán)限顯示后端的實(shí)現(xiàn)345
6.5.4Rightadmin權(quán)限編輯功能模板346
6.5.5Rightadmin權(quán)限編輯后端的實(shí)現(xiàn)349
6.5.6Rightadmin權(quán)限調(diào)用的實(shí)現(xiàn)351
6.6服務(wù)器的錄入、編輯、展示354
6.6.1服務(wù)器模塊的URL路由設(shè)置355
6.6.2服務(wù)器的錄入視圖類、Form表單文件及模板356
6.6.3服務(wù)器的編輯視圖類及模板364
6.6.4服務(wù)器的展示視圖類及模板368
6.6.5服務(wù)器的詳情視圖類及模板373
6.7Django Model測試375
6.8Django View測試377
6.9Django Form測試378
6.10小結(jié)381
第7章生成發(fā)布單382
7.1發(fā)布單介紹383
7.2新建發(fā)布單384
7.2.1新建發(fā)布單表單384
7.2.2新建發(fā)布單視圖388
7.2.3新建發(fā)布單模板390
7.2.4新建發(fā)布單路由393
7.3發(fā)布單列表394
7.3.1發(fā)布單列表視圖395
7.3.2發(fā)布單列表模板396
7.3.3發(fā)布單列表路由399
7.4編譯程序包400
7.4.1編譯視圖400
7.4.2編譯模板405
7.4.3編譯路由410
7.4.4程序包檢測410
7.5發(fā)布單詳情412
7.5.1發(fā)布單詳情視圖412
7.5.2發(fā)布單詳情模板413
7.5.3發(fā)布單詳情路由414
7.6通過上傳方式新建發(fā)布單414
7.6.1發(fā)布單上傳表單415
7.6.2發(fā)布單上傳視圖417
7.6.3發(fā)布單上傳模板421
7.6.4發(fā)布單上傳路由424
7.7小結(jié)425
第8章環(huán)境流轉(zhuǎn)426
8.1環(huán)境流轉(zhuǎn)列表426
8.1.1環(huán)境流轉(zhuǎn)列表視圖427
8.1.2環(huán)境流轉(zhuǎn)列表模板429
8.1.3環(huán)境流轉(zhuǎn)列表路由434
8.2環(huán)境流轉(zhuǎn)功能435
8.2.1環(huán)境流轉(zhuǎn)功能視圖435
8.2.2環(huán)境流轉(zhuǎn)模板438
8.2.3環(huán)境流轉(zhuǎn)JS439
8.2.4環(huán)境流轉(zhuǎn)路由441
8.3環(huán)境流轉(zhuǎn)歷史442
8.3.1環(huán)境流轉(zhuǎn)歷史視圖442
8.3.2環(huán)境流轉(zhuǎn)歷史模板444
8.3.3環(huán)境流轉(zhuǎn)歷史路由448
8.4小結(jié)448
第9章軟件發(fā)布449
9.1發(fā)布首頁展示449
9.1.1發(fā)布首頁視圖類449
9.1.2發(fā)布首頁模板文件452
9.1.3發(fā)布首頁路由設(shè)置456
9.2發(fā)布詳情頁展示457
9.2.1發(fā)布詳情頁視圖類457
9.2.2發(fā)布詳情頁模板459
9.2.3發(fā)布詳情頁的JS代碼466
9.2.4發(fā)布詳情頁路由467
9.3發(fā)布功能實(shí)現(xiàn)468
9.3.1瀏覽器的JS獲取發(fā)布參數(shù),并發(fā)布到后端469
9.3.2deploy_cmd函數(shù)解析發(fā)布參數(shù)471
9.3.3deploy函數(shù)啟動(dòng)Python的線程池474
9.3.4cmd_run函數(shù)操作SaltAPI476
9.3.5cmd_run運(yùn)行過程中調(diào)用的日志讀/寫及數(shù)據(jù)表更新482
9.3.6服務(wù)啟停腳本的實(shí)現(xiàn)487
9.4服務(wù)啟停首頁展示495
9.4.1服務(wù)啟停首頁視圖類495
9.4.2服務(wù)啟停首頁網(wǎng)頁模板496
9.4.3服務(wù)啟停首頁路由設(shè)置500
9.5服務(wù)啟停詳情頁展示500
9.5.1服務(wù)啟停詳情視圖類501
9.5.2服務(wù)啟停詳情網(wǎng)頁模板503
9.5.3服務(wù)啟停詳情路由510
9.6部署歷史實(shí)現(xiàn)510
9.6.1部署歷史視圖函數(shù)511
9.6.2部署歷史網(wǎng)頁模板512
9.6.3部署歷史路由設(shè)置516
9.7Django Mock測試516
9.8小結(jié)518
第10章使用Django Channels實(shí)現(xiàn)基于WebSocket的實(shí)時(shí)日志519
10.1WebSocket協(xié)議簡介520
10.1.1客戶端(瀏覽器)WebSocket520
10.1.2后臺(tái)服務(wù)端WebSocket523
10.1.3Django Channels名詞解釋523
10.2Django Channels項(xiàng)目(mablog)安裝配置526
10.2.1Pip安裝Channels模塊526
10.2.2新建mablog項(xiàng)目527
10.3mablog數(shù)據(jù)庫Model簡介529
10.3.1設(shè)計(jì)models.py529
10.3.2將models.py的內(nèi)容更新到數(shù)據(jù)庫530
10.4日志寫入實(shí)現(xiàn)531
10.4.1wslog的路由設(shè)置533
10.4.2wslog的log_add函數(shù)533
10.4.3wslog的log_add函數(shù)的測試534
10.5實(shí)時(shí)日志讀取實(shí)現(xiàn)535
10.5.1日志讀取的路由設(shè)置536
10.5.2日志讀取的視圖函數(shù)536
10.5.3日志讀取的網(wǎng)頁模板536
10.6使用Django Channels實(shí)現(xiàn)后端WebSocket541
10.6.1改造settings.py文件541
10.6.2新增asgi.py文件544
10.6.3新增routing.py文件545
10.6.4新增consumers.py文件,實(shí)現(xiàn)Channels消費(fèi)者函數(shù)546
10.6.5測試ASGI服務(wù)器548
10.6.6分析客戶端的JS代碼549
10.7Django Channels生產(chǎn)環(huán)境運(yùn)行配置551
10.8Django Channels測試552
10.9小結(jié)553
第11章使用Django REST Framework開發(fā)API接口554
11.1RESTful API及Django REST Framework簡介555
11.1.1RESTful關(guān)鍵字556
11.1.2Django REST Framework簡介557
11.2DRF安裝配置558
11.2.1安裝DRF558
11.2.2配置DRF558
11.3查看和修改用戶Token560
11.3.1獲取和更新Token的視圖函數(shù)560
11.3.2獲取和更新Token的網(wǎng)頁模板561
11.3.3獲取和更新Token的URL路由561
11.3.4增加網(wǎng)頁右上角查看Token的鏈接562
11.3.5通過網(wǎng)頁測試查看和修改用戶Token的功能562
11.4手工建立一個(gè)API的Django App應(yīng)用563
11.4.1新增API的目錄及文件563
11.4.2在settings.py文件里新增應(yīng)用565
11.4.3測試apitokenauth功能566
11.5實(shí)現(xiàn)查看用戶的RESTful API566
11.5.1序列化和反序列化User數(shù)據(jù)表字段567
11.5.2生成User視圖集合類568
11.5.3為User的API注冊訪問路由569
11.6實(shí)現(xiàn)查看發(fā)布單的RESTful API571
11.6.1序列化DeployPool數(shù)據(jù)表字段571
11.6.2生成DeployPool視圖集合類572
11.6.3為發(fā)布單的API注冊訪問路由573
11.7實(shí)現(xiàn)查看、新增和修改服務(wù)器的RESTful API575
11.7.1序列化Server數(shù)據(jù)表字段575
11.7.2生成Server視圖集合類576
11.7.3為Server API注冊訪問路由579
11.7.4使用Requests庫測試Server API580
11.8實(shí)現(xiàn)查看、新增和修改App服務(wù)應(yīng)用的RESTful API582
11.8.1序列化App服務(wù)應(yīng)用數(shù)據(jù)表字段582
11.8.2生成App服務(wù)應(yīng)用視圖集合類582
11.8.3為App服務(wù)應(yīng)用API注冊訪問路由584
11.9Django REST Framework API測試585
11.10小結(jié)588
第12章Django日志和數(shù)據(jù)統(tǒng)計(jì)及生產(chǎn)環(huán)境部署589
......

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)