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

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

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

定 價:¥119.00

作 者: 陳剛,王洪軍 著
出版社: 北京航空航天大學出版社
叢編項:
標 簽: 暫缺

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

內容簡介

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

作者簡介

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

圖書目錄

第1章Python基礎1
1.1Python基本數(shù)據(jù)類型的常用操作5
1.1.1數(shù)字(Number)——人生不能只會做減法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進程池示例——《低俗小說》28
1.4.2線程池示例30
1.5模塊化31
1.6測試34
1.7小結39
第2章Django基礎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搭上關系的46
2.3Django簡介及Web實現(xiàn)48
2.3.1Django簡介48
2.3.2Python的Web服務器49
2.3.3Django模塊實現(xiàn)Web服務器49
2.4Django新建項目應用及運行機制50
2.4.1新建Django項目應用50
2.4.2Django目錄及文件分析51
2.4.3Django框架的工作機制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內容)88
2.8.9類視圖操作ORM(顯示board列表)90
2.8.10Model的底層數(shù)據(jù)庫連接配置92
2.9Django表單Form93
2.10Django后臺管理Admin95
2.10.1Admin界面登錄95
2.10.2應用Model的注冊96
2.10.3Model Admin自定義管理界面98
2.11Django測試99
2.12小結100
第3章自動化軟件發(fā)布工作流101
3.1示例項目102
3.1.1編寫示例代碼102
3.1.2編譯項目105
3.1.3手工運行106
3.1.4其他示例代碼107
3.2使用GitLab保存源代碼109
3.2.1建立用戶和項目組109
3.2.2建立項目113
3.2.3將本地代碼推送到GitLab中115
3.3使用Jenkins編譯項目120
3.4使用Nginx作為軟件倉庫125
3.4.1Jenkins和Nginx服務器之間免密碼登錄126
3.4.2安裝并配置Nginx服務器128
3.4.3安裝Jenkins插件128
3.4.4配置Jenkins Pipeline129
3.4.5驗證130
3.5使用SaltStack推送服務端腳本132
3.5.1Salt Master及Salt Minion的安裝132
3.5.2通過Salt Master遠程執(zhí)行腳本命令134
3.5.3SaltAPI配置137
3.5.4實現(xiàn)遠程拉取軟件、啟停服務的腳本范例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封裝一個Python腳本,實現(xiàn)自動化編譯軟件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小結175
第4章自動化發(fā)布的數(shù)據(jù)庫模型176
4.1功能展示176
4.1.1用戶管理176
4.1.2應用App的管理176
4.1.3服務器的管理178
4.1.4應用權限的管理178
4.1.5發(fā)布單的新建及軟件包編譯179
4.1.6環(huán)境流轉179
4.1.7軟件發(fā)布180
4.1.8軟件流轉及發(fā)布歷史181
4.2新建項目及App181
4.2.1新建目錄,通過Pip安裝相關模塊181
4.2.2新建項目及相關App181
4.2.3生成數(shù)據(jù)及管理員密碼182
4.2.4啟動Django服務并驗證184
4.2.5與PyCharm集成185
4.3調整文件內容186
4.3.1中文及時區(qū)186
4.3.2App注冊187
4.3.3URL路由調整189
4.4Django Models的抽象基類190
4.5應用數(shù)據(jù)表192
4.5.1models.py文件內容192
4.5.2將應用數(shù)據(jù)表遷移進數(shù)據(jù)庫196
4.5.3生成模擬數(shù)據(jù)198
4.6環(huán)境數(shù)據(jù)表204
4.6.1models.py文件內容204
4.6.2將環(huán)境數(shù)據(jù)表遷移進數(shù)據(jù)庫204
4.6.3生成模擬數(shù)據(jù)206
4.7服務器數(shù)據(jù)表207
4.7.1models.py文件內容207
4.7.2將服務器數(shù)據(jù)表遷移進數(shù)據(jù)庫209
4.7.3生成模擬數(shù)據(jù)211
4.8發(fā)布單狀態(tài)數(shù)據(jù)表212
4.8.1models.py文件內容213
4.8.2將發(fā)布狀態(tài)數(shù)據(jù)表遷移進數(shù)據(jù)庫213
4.8.3生成模擬數(shù)據(jù)215
4.9發(fā)布單數(shù)據(jù)表216
4.9.1models.py文件內容216
4.9.2將發(fā)布單數(shù)據(jù)表遷移進數(shù)據(jù)庫220
4.9.3生成模擬數(shù)據(jù)221
4.10權限管理數(shù)據(jù)表224
4.10.1models.py文件內容225
4.10.2將權限數(shù)據(jù)表遷移進數(shù)據(jù)庫226
4.10.3生成模擬數(shù)據(jù)228
4.11歷史記錄數(shù)據(jù)表231
4.11.1models.py文件內容231
4.11.2將歷史數(shù)據(jù)表遷移進數(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小結239
第5章用戶注冊登錄及密碼管理241
5.1用戶管理簡介241
5.2Web開發(fā)中的Cookie及Session242
5.2.1Cookie242
5.2.2Session243
5.3中間件(Middleware)及預安裝(INSTALLED_APPS)245
5.3.1Django框架中的Middleware245
5.3.2Django框架中的INSTALLED_APPS248
5.4用戶管理249
5.4.1用戶注冊250
5.4.2用戶認證250
5.4.3用戶登錄250
5.4.4用戶退出251
5.4.5修改密碼251
5.5用戶組管理252
5.6Django權限功能253
5.6.1權限管理簡介253
5.6.2用戶權限254
5.6.3用戶組權限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內置視圖總結291
5.12Manabe登錄驗證碼294
5.13Manabe首頁297
5.13.1網(wǎng)站首頁視圖298
5.13.2網(wǎng)站模板298
5.13.3Django內置視圖總結301
5.14小結302
第6章應用錄入和服務器錄入303
6.1App服務錄入頁面303
6.1.1App服務網(wǎng)頁功能展示303
6.1.2錄入、編輯、展示的URL設置306
6.1.3App錄入的視圖308
6.1.4App錄入的表單312
6.1.5App錄入的模板318
6.1.6App錄入的瀏覽器驗證323
6.2App服務編輯頁面323
6.2.1App編輯視圖323
6.2.2App編輯模板文件325
6.3App服務列表展示328
6.3.1App服務列表視圖328
6.3.2App服務列表模板文件330
6.4App服務詳情頁面336
6.4.1App服務詳情視圖336
6.4.2App服務詳情模板337
6.5App服務權限設計339
6.5.1Rightadmin權限模塊的路由340
6.5.2Rightadmin權限顯示342
6.5.3Rightadmin權限顯示后端的實現(xiàn)345
6.5.4Rightadmin權限編輯功能模板346
6.5.5Rightadmin權限編輯后端的實現(xiàn)349
6.5.6Rightadmin權限調用的實現(xiàn)351
6.6服務器的錄入、編輯、展示354
6.6.1服務器模塊的URL路由設置355
6.6.2服務器的錄入視圖類、Form表單文件及模板356
6.6.3服務器的編輯視圖類及模板364
6.6.4服務器的展示視圖類及模板368
6.6.5服務器的詳情視圖類及模板373
6.7Django Model測試375
6.8Django View測試377
6.9Django Form測試378
6.10小結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小結425
第8章環(huán)境流轉426
8.1環(huán)境流轉列表426
8.1.1環(huán)境流轉列表視圖427
8.1.2環(huán)境流轉列表模板429
8.1.3環(huán)境流轉列表路由434
8.2環(huán)境流轉功能435
8.2.1環(huán)境流轉功能視圖435
8.2.2環(huán)境流轉模板438
8.2.3環(huán)境流轉JS439
8.2.4環(huán)境流轉路由441
8.3環(huán)境流轉歷史442
8.3.1環(huán)境流轉歷史視圖442
8.3.2環(huán)境流轉歷史模板444
8.3.3環(huán)境流轉歷史路由448
8.4小結448
第9章軟件發(fā)布449
9.1發(fā)布首頁展示449
9.1.1發(fā)布首頁視圖類449
9.1.2發(fā)布首頁模板文件452
9.1.3發(fā)布首頁路由設置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ā)布功能實現(xiàn)468
9.3.1瀏覽器的JS獲取發(fā)布參數(shù),并發(fā)布到后端469
9.3.2deploy_cmd函數(shù)解析發(fā)布參數(shù)471
9.3.3deploy函數(shù)啟動Python的線程池474
9.3.4cmd_run函數(shù)操作SaltAPI476
9.3.5cmd_run運行過程中調用的日志讀/寫及數(shù)據(jù)表更新482
9.3.6服務啟停腳本的實現(xiàn)487
9.4服務啟停首頁展示495
9.4.1服務啟停首頁視圖類495
9.4.2服務啟停首頁網(wǎng)頁模板496
9.4.3服務啟停首頁路由設置500
9.5服務啟停詳情頁展示500
9.5.1服務啟停詳情視圖類501
9.5.2服務啟停詳情網(wǎng)頁模板503
9.5.3服務啟停詳情路由510
9.6部署歷史實現(xiàn)510
9.6.1部署歷史視圖函數(shù)511
9.6.2部署歷史網(wǎng)頁模板512
9.6.3部署歷史路由設置516
9.7Django Mock測試516
9.8小結518
第10章使用Django Channels實現(xiàn)基于WebSocket的實時日志519
10.1WebSocket協(xié)議簡介520
10.1.1客戶端(瀏覽器)WebSocket520
10.1.2后臺服務端WebSocket523
10.1.3Django Channels名詞解釋523
10.2Django Channels項目(mablog)安裝配置526
10.2.1Pip安裝Channels模塊526
10.2.2新建mablog項目527
10.3mablog數(shù)據(jù)庫Model簡介529
10.3.1設計models.py529
10.3.2將models.py的內容更新到數(shù)據(jù)庫530
10.4日志寫入實現(xiàn)531
10.4.1wslog的路由設置533
10.4.2wslog的log_add函數(shù)533
10.4.3wslog的log_add函數(shù)的測試534
10.5實時日志讀取實現(xiàn)535
10.5.1日志讀取的路由設置536
10.5.2日志讀取的視圖函數(shù)536
10.5.3日志讀取的網(wǎng)頁模板536
10.6使用Django Channels實現(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文件,實現(xiàn)Channels消費者函數(shù)546
10.6.5測試ASGI服務器548
10.6.6分析客戶端的JS代碼549
10.7Django Channels生產(chǎn)環(huán)境運行配置551
10.8Django Channels測試552
10.9小結553
第11章使用Django REST Framework開發(fā)API接口554
11.1RESTful API及Django REST Framework簡介555
11.1.1RESTful關鍵字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手工建立一個API的Django App應用563
11.4.1新增API的目錄及文件563
11.4.2在settings.py文件里新增應用565
11.4.3測試apitokenauth功能566
11.5實現(xiàn)查看用戶的RESTful API566
11.5.1序列化和反序列化User數(shù)據(jù)表字段567
11.5.2生成User視圖集合類568
11.5.3為User的API注冊訪問路由569
11.6實現(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實現(xiàn)查看、新增和修改服務器的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實現(xiàn)查看、新增和修改App服務應用的RESTful API582
11.8.1序列化App服務應用數(shù)據(jù)表字段582
11.8.2生成App服務應用視圖集合類582
11.8.3為App服務應用API注冊訪問路由584
11.9Django REST Framework API測試585
11.10小結588
第12章Django日志和數(shù)據(jù)統(tǒng)計及生產(chǎn)環(huán)境部署589
......

本目錄推薦

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