Python新手学Django 2.0架站的16堂课-第2版
- ISBN:9787302523321
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:487
- 出版时间:2019-04-01
- 条形码:9787302523321 ; 978-7-302-52332-1
本书特色
Python是目前非常受欢迎的程序设计语言,本书通过对Python语言使用*多的Django 2.0 Web Framework的介绍,让读者可以轻松制作出全功能的动态网站。 本书分4部分,以16堂课来介绍Python新手使用Django架站的要点。*部分(第1~3堂)以一个小型的个人博客网站为主轴,介绍如何快速建立一个实用的Django网站;第二部分(第4~7堂)是Django架构深入剖析,详细分析Django的MVC/MTV架构;第三部分(第8~11堂)为实用网站开发技巧;第四部分(第12~16堂)为实用网站开发教学,从设计、规划到实践,逐步指导读者在自己的主机环境下构建出有趣实用的内容。 本书既可作为希望快速上手Python Django的初学者的参考书籍,也可作为Python培训学校在Python Django方面的培训教程。
内容简介
1. 快速建立一个实用的Django网站(第1~3堂课)
以一个小型的个人博客网站为主轴,介绍如何建立网站开发环境、如何规划网站需求以及设计数据库的内容、快速建立页面输出模板以及数据库的存取,*后学习如何把制作好的网站部署到受欢迎的各种主机上。
2. Django架构深入剖析(第4~7堂课)
详细分析Django的MVC架构。首先做一个完整且简要的介绍,接着分别就网址如何对应、如何设计模板、Model和数据库之间的关系等内容进行深入的阐述。
3. 实用网站开发技巧(第8~11堂课)
介绍特色网站所需要使用的技巧,包括如何快速建立窗体以及窗体与数据库的自动结合,活用网站Session以及用户验证技巧,快速建立可以让用户通过电子邮件自行注册的会员网站,连接到Facebook进行验证账号的实践,以及建立结合社交网站账号注册及验证的全方位会员网站。
4. 实用网站开发教学(第12~16堂课)
以建立一个实用网站为每一堂课的内容,从设计、规划到实现,一步一步引导读者在自己的主机环境中构建出这些有趣实用的网站及其内容,包括迷你小电商网站、Mezzanine快速打造CMS网站、全功能电子商店网站、名言佳句产生器网站等,*后告知网站部署上线的注意事项以及网站单元测试范例。
目录
第1堂 网站开发环境的建立 1
1.1 网站的基础知识 1
1.1.1 网站的运行流程 1
1.1.2 Python/Django扮演的角色 3
1.1.3 使用Python/Django建立网站的优势 4
1.2 建立网站开发流程 4
1.2.1 开发流程简介 4
1.2.2 在Windows建立Linux虚拟机 5
1.2.3 在Mac OS安装Linux虚拟机 12
1.2.4 在Linux虚拟机中创建Python Django开发环境 18
1.2.5 设置SSH、PuTTY以及FTP服务器 19
1.2.6 安装Notepad 程序编辑器 23
1.3 活用版本控制系统 27
1.3.1 版本控制系统Git简介 27
1.3.2 申请Bitbucket账号 28
1.3.3 在虚拟机中连接Bitbucket 30
1.3.4 在不同的计算机之间开发同一个网站 32
1.4 其他网站项目开发环境的安装建议 33
1.4.1 在Windows 10创建开发环境 33
1.4.2 在MacOS中创建开发环境 35
1.4.3 在Cloud9中创建开发环境 37
1.4.4 在DigitalOcean VPS中创建开发环境 39
1.5 习题 40
第2堂 Django网站快速入门 41
2.1 个人博客网站规划 41
2.1.1 博客网站的需求与规划 41
2.1.2 产生**个网站框架 42
2.1.3 Django文件夹与文件解析 44
2.2 创建博客数据表 46
2.2.1 数据库与Django的关系 46
2.2.2 定义数据模型 46
2.2.3 启动admin管理界面 47
2.2.4 读取数据库中的内容 52
2.3 网址对应与页面输出 54
2.3.1 创建网页输出模板Template 54
2.3.2 网址对应urls.py 58
2.3.3 共享模板的使用 60
2.4 高级网站功能的运用 63
2.4.1 JavaScript以及CSS文件的引用 63
2.4.2 图像文件的应用 67
2.4.3 在主网页显示文章摘要 68
2.4.4 博客文章的HTML内容处理 70
2.4.5 Markdown语句解析与应用 73
2.5 习题 75
第3堂 让网站上线 76
3.1 DigitalOcean部署 76
3.1.1 申请账号与创建虚拟主机 76
3.1.2 安装Apache网页服务器及Django执行环境 80
3.1.3 修改settings.py、000-default.conf等相关设置 82
3.1.4 创建域名以及多平台设置 84
3.2 在Heroku上部署 87
3.2.1 Heroku账号申请与环境设置 87
3.2.2 修改网站的相关设置 89
3.2.3 上传网站到Heroku主机 90
3.2.4 Heroku主机的操作 93
3.3 在Google Cloud Platform上部署 94
3.3.1 Google Cloud Platform的介绍 94
3.3.2 Google Computing启用与设置 98
3.3.3 Google App Engine的说明与设置 101
3.4 习题 110
第4堂 深入了解Django的MVC架构 111
4.1 Django的MVC架构简介 111
4.1.1 MVC架构简介 111
4.1.2 Django的MTV架构 112
4.1.3 Django网站的构成以及配合 113
4.1.4 在Django MTV架构下的网站开发步骤 114
4.2 Model简介 115
4.2.1 在models.py中创建数据表 116
4.2.2 在admin.py中创建数据表管理界面 118
4.2.3 在Python Shell中操作数据表 121
4.2.4 数据的查询与编辑 123
4.3 View简介 125
4.3.1 建立简易的HttpResponse网页 126
4.3.2 在views.py中显示查询数据列表 127
4.3.3 网址栏参数处理的方式 128
4.4 Template简介 131
4.4.1 创建Template文件夹与文件 131
4.4.2 传送变量到Template文件中 132
4.4.3 在Template中处理列表变量 135
4.5 *终版本摘要 135
4.6 习题 138
第5堂 网址的对应与委派 139
5.1 Django网址架构 139
5.1.1 URLconf简介 139
5.1.2 委派各个的网址到处理函数 141
5.1.3 urlpatterns的正则表达式语法说明(适用于Django 2.0以前的版本) 144
5.1.4 验证正则表达式设计URL的正确性 147
5.2 高级设置技巧 148
5.2.1 参数的传送 148
5.2.2 include其他整组的urlpatterns设置 149
5.2.3 URLconf的反解功能 149
5.3 习题 150
第6堂 Template深入探讨 151
6.1 Template的设置与运行 151
6.1.1 settings.py设置 151
6.1.2 创建Template文件 153
6.1.3 在Template文件中使用现有的网页框架 154
6.1.4 直播电视网站应用范例 155
6.1.5 在Template中使用static文件 158
6.2 高级Template技巧 160
6.2.1 Template模板的继承 160
6.2.2 共享模板的使用范例 162
6.3 Template语言 163
6.3.1 判断指令 163
6.3.2 循环指令 164
6.3.3 过滤器与其他的语法标记 168
6.4 习题 171
第7堂 Models与数据库 172
7.1 网站与数据库 172
7.1.1 数据库简介 172
7.1.2 规划网站需要的数据库 173
7.1.3 数据表内容设计 176
7.1.4 models.py设计 177
7.2 活用Model制作网站 178
7.2.1 建立网站 178
7.2.2 制作网站模板 180
7.2.3 制作多数据表整合查询网页 182
7.2.4 调整admin管理网页的外观 186
7.3 在Django使用MySQL数据库系统 188
7.3.1 安装开发环境中的MySQL连接环境(Ubuntu) 188
7.3.2 安装开发环境中的MySQL连接环境 (Windows) 189
7.3.3 使用Google云端主机的商用SQL服务器 192
7.4 习题 196
第8堂 网站窗体的应用 197
8.1 网站与窗体 197
8.1.1 HTML 窗体简介 197
8.1.2 活用窗体的标签 200
8.1.3 建立本堂课范例网站的数据模型 202
8.1.4 网站窗体的建立与数据显示 204
8.1.5 接收窗体数据存储于数据库中 206
8.1.6 加上删除帖文的功能 207
8.2 基础窗体类的应用 209
8.2.1 使用POST传送窗体数据 209
8.2.2 结合窗体和数据库 213
8.2.3 数据接收与字段的验证方法 216
8.2.4 使用第三方服务发送电子邮件 219
8.3 模型窗体类ModelForm的应用 223
8.3.1 ModelForm的使用 223
8.3.2 通过ModelForm产生的窗体存储数据 225
8.3.3 为窗体加上防机器人验证机制 226
8.4 习题 231
第9堂 网站的Session功能 232
9.1 Session简介 232
9.2.1 复制Django网站 232
9.1.2 Cookie简介 233
9.1.3 建立网站登录功能 234
9.1.4 Session的相关函数介绍 239
9.2 活用Session 240
9.2.1 建立用户数据表 240
9.2.3 整合Django的信息显示框架Messages Framework 246
9.3 Django auth用户验证 249
9.3.1 使用Django的用户验证系统 249
9.3.2 增加User的字段 252
9.3.3 显示新增加的User字段 254
9.3.4 应用auth用户验证存取数据库 256
9.4 习题 261
第10堂 网站用户的注册与管理 262
10.1 建立网站用户的自动化注册功能 262
10.1.1 django-registration-redux安装与设置 262
10.1.2 创建django-registration-redux所需的模板 263
10.1.3 整合用户注册功能到分享日记网站 267
10.2 Pythonanywhere.com免费Python网站开发环境 271
10.2.1 注册Pythonanywhere.com账号 271
10.2.2 在Pythonanywhere免费网站中建立虚拟环境以及Django网站 278
10.2.3 建立投票网站的基本架构 283
10.3 使用Facebook验证账号操作实践 290
10.3.1 在Pythonanywhere中安装django-allauth与设置 290
10.3.2 到Facebook开发者网页申请验证机制 293
10.3.3 在网站中识别用户的登录状态 298
10.3.4 客户化django-allauth页面 301
10.4 习题 303
第11堂 社交网站应用实践 304
11.1 投票网站的规划与调整 304
11.1.1 网站功能与需求 304
11.1.2 数据表与页面设计 306
11.1.3 网站的转移 309
11.2.4 移动设备的考虑 311
11.2 深入探讨django-allauth 312
11.2.1 django-allauth的Template标签 313
11.2.2 django-allauth的Template页面 314
11.2.3 获取Facebook用户的信息 316
11.3 投票网站功能解析 317
11.3.1 首页的分页显示功能 318
11.3.2 自定义标签并在首页显示目前的投票数 319
11.3.3 使用AJAX和jQuery改进投票的效果 322
11.3.4 避免重复投票的方法 327
11.3.6 新建Twitter账号链接 329
11.4 习题 334
第12堂 电子商店网站实践 335
12.1 打造迷你电商网站 335
12.1.1 复制网站,不要从零开始 335
12.1.2 建立网站所需要的数据表 337
12.1.3 上传照片的方法django-filer 341
12.1.4 把django-filer的图像文件加到数据表中 345
12.2 增加网站功能 348
12.2.1 分类查看产品 348
12.2.2 显示详细的产品内容 352
12.2.3 购物车功能 353
12.2.4 建立订单功能 357
12.3 电子支付功能 365
12.3.1 建立付款流程 366
12.3.2 建立PayPal付款链接 368
12.3.3 接收PayPal付款完成通知 374
12.3.4 测试PayPal付款功能 375
12.4 习题 381
第13堂 全功能电子商店网站django-oscar实践 382
13.1 Django购物网站Oscar的安装与使用 382
13.1.1 电子购物网站模板 382
13.1.2 Django Oscar购物车系统测试网站安装 383
13.2 建立Oscar的应用网站 386
13.2.1 安装前的准备 386
13.2.2 建立网站的域名 387
13.2.3 调整Apache2配置文件 388
13.2.4 建立Django Oscar购物网站项目 389
13.2.5 加上电子邮件的发送功能 397
13.2.6 简单地修改Oscar网站的设置 398
13.2.7 增加PayPal在线付款功能 401
13.3 自定义Oscar网站 406
13.3.1 建立自己的templates,打造客户化的外观 407
13.3.2 网站的中文翻译 416
13.4 习题 417
第14堂 使用Mezzanine快速打造CMS网站 418
14.1 快速安装Mezzanine CMS网站 418
14.1.1 什么是Mezzanine 418
14.1.2 安装Mezzanine 419
14.1.3 安装Mezzanine主题 425
14.1.4 Mezzanine网站的设置与调整 427
14.2 使用Mezzanine建立电子商店网站 429
14.2.1 安装电子购物车套件与建立网站 429
14.2.2 自定义Mezzanine网站的外观 431
14.3 在Heroku部署Mezzanine网站 435
14.4 习题 440
第15堂 名言佳句产生器网站实践 441
15.1 建立网站前的准备 441
15.1.1 准备网站所需的素材 441
15.1.2 图文整合练习 442
15.1.3 建立可随机显示图像的网站 444
15.2 产生器功能的实现 446
15.2.1 建立产生器界面 447
15.2.2 产生唯一的文件名 449
15.2.3 开始合并随后产生图像文件 449
15.2.4 准备多个背景图像文件以供选择 453
15.3 自定义图像文件功能 458
15.3.1 加入会员注册功能 458
15.3.2 建立上传文件的界面 458
15.3.3 上传文件的方法 462
15.3.4 实时产生结果 464
15.4 习题 466
第16堂 课程回顾与你的下一步 467
16.1 善加运用网站资源 467
16.2 部署上线的注意事项 470
16.3 SSL设置实践 472
16.4 程序代码和网站测试的重要性 483
16.5 其他Python框架 486
16.6 你的下一步 486
作者简介
何敏煌,中国台湾交通大学信息科学所博士。台湾畅销书作者.
-
乡村振兴新技术:新时代农村短视频编辑技术基础入门
¥12.8¥32.0 -
AI绘画+AI摄影+AI短视频从入门到精通
¥45.5¥79.8 -
企业AI之旅
¥43.5¥79.0 -
机器学习
¥59.4¥108.0 -
基于知识蒸馏的图像去雾技术
¥61.6¥88.0 -
软件设计的哲学(第2版)
¥51.0¥69.8 -
智能算法优化及其应用
¥52.4¥68.0 -
Photoshop图像处理
¥25.5¥49.0 -
R语言医学数据分析实践
¥72.3¥99.0 -
大模型推荐系统:算法原理、代码实战与案例分析
¥62.3¥89.0 -
剪映 从入门到精通
¥25.7¥59.8 -
游戏造梦师----游戏场景开发与设计
¥67.6¥98.0 -
SAR图像处理与检测
¥35.4¥49.8 -
人工智能
¥29.4¥42.0 -
中文版PHOTOSHOP 2024+AI修图入门教程
¥59.3¥79.0 -
WPS办公软件应用
¥25.2¥36.0 -
格拉斯曼流行学习及其在图像集分类中的应用
¥13.7¥28.0 -
轻松上手AIGC:如何更好地向CHATGPT提问
¥40.3¥62.0 -
元宇宙的理想与现实:数字科技大成的赋能与治理逻辑
¥61.6¥88.0 -
云原生安全:攻防与运营实战
¥66.8¥89.0