
微信扫一扫,移动浏览光盘
简介
Python是目前非常受欢迎的程序设计语言,本书通过对Python语言使用*多的Django 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堂 网站开发环境的建立 1
1.1 网站的基础知识 1
1.1.1网站的运行流程 1
1.1.2Python/Django扮演的角色 2
1.1.3使用Python/Django建立网站的优势 3
1.2 建立网站开发流程 3
1.2.1开发流程简介 4
1.2.2在Windows中建立Linux虚拟机 5
1.2.3在Mac OS中安装Linux虚拟机 11
1.2.4在Linux虚拟机中创建Python Django开发环境 17
1.2.5设置SSH、PuTTY以及FTP服务器 18
1.2.6安装Notepad 程序编辑器 22
1.3 活用版本控制系统 26
1.3.1版本控制系统Git简介 26
1.3.2申请Bitbucket账号 26
1.3.3在虚拟机中连接Bitbucket 29
1.3.4在不同的计算机之间开发同一个网站 31
1.4 其他网站项目开发环境的安装建议 32
1.4.1在Windows 10中创建开发环境 32
1.4.2在Mac OS中创建开发环境 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产生第一个网站框架 41
2.1.3Django文件夹与文件解析 44
2.2 创建博客数据表 46
2.2.1数据库与Django的关系 46
2.2.2定义数据模型 47
2.2.3启动admin管理界面 48
2.2.4读取数据库中的内容 52
2.3 网址对应与页面输出 55
2.3.1创建网页输出模板template 55
2.3.2网址对应urls.py 60
2.3.3共享模板的使用 62
2.4 高级网站功能的运用 65
2.4.1JavaScript以及CSS文件的引用 65
2.4.2图像文件的应用 69
2.4.3在主网页显示文章摘要 71
2.4.4博客文章的HTML内容处理 73
2.4.5Markdown语句解析与应用 75
2.5 习题 77
第3堂 让网站上线 78
3.1 在DigitalOcean上部署 78
3.1.1申请账号与创建虚拟主机 78
3.1.2安装Apache网页服务器及Django执行环境 82
3.1.3修改settings.py、000-default.conf等相关设置 83
3.1.4创建域名以及多平台设置 86
3.2 在Heroku上部署 89
3.2.1Heroku账号申请与环境设置 89
3.2.2修改网站的相关设置 91
3.2.3上传网站到Heroku主机 92
3.2.4Heroku主机的操作 96
3.3 在Google CloudPlatform上部署 97
3.3.1Google Cloud Platform的介绍 98
3.3.2Google Computing的启用与设置 101
3.3.3Google App Engine的说明与设置 104
3.4 习题 111
第4堂 深入了解Django的MVC架构 112
4.1Django的MVC架构简介 112
4.1.1MVC架构简介 112
4.1.2Django的MTV架构 113
4.1.3Django网站的构成以及配合 114
4.1.4在Django MTV架构下的网站开发步骤 115
4.2Model简介 116
4.2.1在models.py中创建数据表 116
4.2.2在admin.py中创建数据表管理界面 119
4.2.3在Python Shell中操作数据表 123
4.2.4数据的查询与编辑 125
4.3View简介 127
4.3.1建立简易的HttpResponse网页 127
4.3.2在views.py中显示查询数据列表 129
4.3.3网址栏参数处理的方式 131
4.4Template简介 133
4.4.1创建template文件夹与文件 133
4.4.2传送变量到template文件中 134
4.4.3在template中处理列表变量 137
4.5 最终版本摘要 138
4.6 习题 142
第5堂 网址的对应与委派 143
5.1 Django网址架构 143
5.1.1URLconf简介 143
5.1.2urlpatterns的Regular Expression语法说明 145
5.1.3验证RE设计URL的正确性 148
5.2 高级设置技巧 149
5.2.1参数的传送 149
5.2.2include其他整组的urlpatterns设置 150
5.2.3URLconf的反解功能 151
5.3 习题 152
第6堂 Template深入探讨 153
6.1Template的设置与运行 153
6.1.1settings.py设置 153
6.1.2创建templates文件 155
6.1.3在templates文件中使用现有的网页框架 156
6.1.4直播电视网站应用范例 157
6.1.5在template中使用static文件 161
6.2 高级Template技巧 163
6.2.1Template模板的继承 163
6.2.2共享模板的使用范例 165
6.3Template语言 166
6.3.1判断指令 167
6.3.2循环指令 168
6.3.3过滤器与其他语法标记 173
6.4 习题 176
第7堂 Models与数据库 177
7.1 网站与数据库 177
7.1.1数据库简介 177
7.1.2规划网站需要的数据库 178
7.1.3数据表内容设计 181
7.1.4models.py设计 182
7.2 活用Model制作网站 183
7.2.1建立网站 183
7.2.2制作网站模板 186
7.2.3制作多数据表整合查询网页 188
7.2.4调整admin管理网页的外观 192
7.3 在Django中使用MySQL数据库系统 194
7.3.1安装开发环境中的MySQL连接环境(Ubuntu) 194
7.3.2安装开发环境中的MySQL连接环境(Windows) 195
7.3.3使用Google云端主机的商用SQL服务器 199
7.4 习题 203
第8堂 网站窗体的应用 204
8.1 网站与窗体 204
8.1.1HTML <form>窗体简介 204
8.1.2活用窗体的标签 208
8.1.3建立本堂课范例网站的数据模型 210
8.1.4网站窗体的建立与数据显示 212
8.1.5接收窗体数据存储于数据库中 214
8.1.6加上删除帖文的功能 215
8.2 基础窗体类的应用 217
8.2.1使用POST传送窗体数据 218
8.2.2结合窗体和数据库 222
8.2.3数据接收与字段的验证方法 226
8.2.4使用第三方服务发送电子邮件 229
8.3 模型窗体类ModelForm的应用 233
8.3.1ModelForm的使用 233
8.3.2通过ModelForm产生的窗体存储数据 235
8.3.3为窗体加上防机器人的验证机制 237
8.4 习题 240
第9堂 网站的Session功能 241
9.1Session简介 241
9.1.1复制Django网站 241
9.1.2Cookie简介 242
9.1.3使用Cookie建立网站登录功能 243
9.1.4开始使用Session 249
9.2 活用Session 250
9.2.1建立用户数据表 250
9.2.2整合Django的信息显示框架messages framework 257
9.3Django auth用户验证 260
9.3.1使用Django的用户验证系统 260
9.3.2增加User的字段 264
9.3.3显示新增加的User字段 266
9.3.4应用auth用户验证存取数据库 268
9.4 习题 274
第10堂 网站用户的注册与管理275
10.1建立网站用户的自动化注册功能 275
10.1.1django-registration安装与设置 275
10.1.2建立django-registration所需的模板 276
10.1.3整合用户注册功能到分享日记网站 280
10.2Pythonanywhere.com免费Python网站开发环境 285
10.2.1注册Pythonanywhere.com账号 286
10.2.2在Pythonanywhere免费网站中建立虚拟机环境以及Django网站 292
10.2.3建立投票网站的基本架构 298
10.3使用Facebook验证账号操作实践 307
10.3.1在Pythonanywhere中安装django-allauth与设置 307
10.3.2到Facebook开发者网页申请验证机制 309
10.3.3在网站中识别用户的登录状态 314
10.3.4客户化django-allauth页面 318
10.4习题 321
第11堂 社交网站应用实践 322
11.1投票网站的规划与调整 322
11.1.1网站功能与需求 322
11.1.2数据表与页面设计 324
11.1.3网站的转移 327
11.1.4移动设备的考虑 329
11.2深入探讨django-allauth 331
11.2.1django-allauth的Template标签 331
11.2.2django-allauth的Template页面 333
11.2.3获取Facebook用户的信息 335
11.3投票网站功能解析 336
11.3.1首页的分页显示功能 337
11.3.2自定义标签并在首页显示目前的投票数 339
11.3.3使用AJAX和jQuery改进投票的效果 341
11.3.4避免重复投票的方法 348
11.3.5 新建Twitter账号链接 350
11.4习题 355
第12堂 电子商店网站实践 356
12.1打造迷你电商网站 356
12.1.1复制网站,不要从零开始 356
12.1.2创建网站所需要的数据表 358
12.1.3上传照片的方法django-filer 362
12.1.4把django-filer的图像文件添加到数据表中 367
12.2增加网站功能 370
12.2.1分类查看产品 370
12.2.2显示详细的产品内容 374
12.2.3购物车功能 376
12.2.4建立订单功能 381
12.3电子支付功能 390
12.3.1建立付款流程 390
12.3.2建立PayPal付款链接 393
12.3.3接收PayPal付款完成通知 400
12.3.4测试PayPal付款功能 401
12.4习题 407
第13堂 全功能电子商店网站django-oscar实践 408
13.1Django购物网站Oscar的安装与使用 408
13.1.1电子购物网站模板 408
13.1.2Django Oscar购物车系统测试网站安装 409
13.2建立Oscar的应用网站 411
13.2.1安装前的准备 412
13.2.2建立网站的域名 412
13.2.3调整Apache2配置文件 414
13.2.4建立Django Oscar购物网站项目 415
13.2.5加上电子邮件的发送功能 422
13.2.6简单地修改Oscar网站的设置 424
13.2.7增加PayPal在线付款功能 427
13.3自定义Oscar网站 432
13.3.1建立自己的templates,打造客户化的外观 433
13.3.2网站的中文翻译 444
13.4习题 445
第14堂 二级网络域名管理网站实践446
14.1建立网站前的准备工作 446
14.1.1什么是二级网络域名以及网络域名代管服务 446
14.1.2申请网络域名以及网络域名代管服务DNSimple 447
14.1.3设置网站主机的空间 450
14.1.4建立网站框架 450
14.2建立会员网站 452
14.2.1加入电子邮件功能 452
14.2.2安装与使用django-registration 453
14.2.3安装dnsimple模块 459
14.3网站功能设计 461
14.3.1建立网站首页的说明页面 462
14.3.2创建数据表 463
14.3.3建立网址管理页面 464
14.3.4Subdomain数据表的存取 466
14.3.5整合到dnsimple.com中 469
14.4习题 475
第15堂 名言佳句产生器网站实践477
15.1 建立网站前的准备 477
15.1.1准备网站所需的素材 477
15.1.2图文整合练习 478
15.1.3建立可随机显示图像的网站 479
15.2产生器功能的实现 483
15.2.1建立产生器界面 483
15.2.2产生唯一的文件名 486
15.2.3开始合并并产生图像文件 486
15.2.4准备多个背景图像文件以供选择 490
15.3自定义图像文件功能 496
15.3.1加入会员注册功能 496
15.3.2建立上传文件的界面 497
15.3.3上传文件的方法 502
15.3.4实时产生结果 504
15.4习题 506
第16堂 课程回顾与您的下一步507
16.1善加运用网站资源 507
16.2部署上线的注意事项 510
16.3SSL设置实践 513
16.4程序代码和网站测试的重要性 525
16.5其他Python框架 528
16.6您的下一步 528
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
