新书速览|Python Django 4构建动态网站的16堂课

Python Django 4构建动态网站的16堂课

本书内容

《Python Django 4构建动态网站的16堂课》是一本关于Django框架的网站开发入门教材,适合想要学习并掌握Django框架的开发人员阅读。《Python Django 4构建动态网站的16堂课》共分16课,内容包括网站开发环境的建立、Django网站快速入门、让网站上线、深入了解Django的MVC架构、网址的对应与委派、模板深入探讨、Models与数据库、网站表单的应用、网站的Session功能、网站用户的注册与管理、社交网站应用实践、电子商务网站实践、全功能电子商务网站django-oscar实践、使用Mezzanine快速打造CMS网站、名言佳句产生器网站实践以及课程回顾与你的下一步计划等。

《Python Django 4构建动态网站的16堂课》通过实际案例和详细说明帮助读者从零开始掌握Django框架的开发技能,提高网站开发能力和水平。

本书作者

何敏煌

博士,目前在高校任教。除了研究KVM虚拟云端容错和分布式系统相关技术之外,他还利用业余时间致力于推广信息技术、自制课程和编程教育,并编写了多本畅销书。

林亮昀

擅长开发Web应用程序和搭建网站,目前担任软件工程师一职,专注于ERP系统设计和前端程序开发。喜欢挑战新技术,并持续不断地学习和成长,致力于打造高质量的产品和应用程序。

本书读者

《Python Django 4构建动态网站的16堂课》既可作为希望快速上手Python+Django的初学的参考书,也可作为Python培训机构在Python+Django方面的培训教程

本书目录

向上滑动阅览

目    录

第1课  网站开发环境的建立 1

1.1  网站的基础知识 1

1.1.1  网站的运行流程 2

1.1.2  Python/Django扮演的角色 3

1.1.3  使用Python/Django搭建网站的优势 4

1.2  创建网站的开发流程 4

1.2.1  开发流程简介 4

1.2.2  在Windows安装Anaconda 5

1.2.3  在Windows操作系统中建立Visual Studio Code开发环境 7

1.2.4  Python Django虚拟环境的创建 10

1.3  活用版本控制系统 13

1.3.1  版本控制系统Git简介 13

1.3.2  申请GitHub账号并创建远程代码仓库 14

1.3.3  在本地计算机中连接GitHub代码仓库 16

1.3.4  在不同的计算机上开发同一个网站 19

1.4  本课习题 20

第2课  Django网站快速入门 21

2.1  个人博客网站规划 21

2.1.1  博客网站的需求与规划 21

2.1.2  产生第一个网站框架 22

2.1.3  Django文件夹与文件解析 26

2.2  创建博客数据表 28

2.2.1  数据库与Django的关系 28

2.2.2  定义数据模型 28

2.2.3  启动admin管理界面 29

2.2.4  读取数据库中的内容 33

2.3  网址对应与页面输出 36

2.3.1  创建网页输出模板 36

2.3.2  网址对应urls.py 40

2.3.3  共享模板的使用 42

2.4  高级网站功能的运用 45

2.4.1  JavaScript以及CSS文件的引用 45

2.4.2  图像文件的应用 48

2.4.3  在主网页显示文章摘要 50

2.4.4  博客文章的HTML内容处理 51

2.4.5  Markdown语句的解析与应用 54

2.5  本课习题 57

第3课  让网站上线 58

3.1  DigitalOcean部署 58

3.1.1  申请账号与创建虚拟主机 58

3.1.2  安装Apache网页服务器及Django执行环境 61

3.1.3  修改settings.py以及000-default.conf等相关设置 65

3.1.4  创建域名并进行多平台设置 68

3.2  在Heroku上部署 74

3.2.1  Heroku账号申请与环境设置 74

3.2.2  修改网站的相关设置 77

3.2.3  上传网站到Heroku主机 78

3.2.4  Heroku主机的操作 81

3.3  本课习题 82

第4课  深入了解Django的MVC架构 83

4.1  Django的MVC架构简介 83

4.1.1  MVC架构简介 84

4.1.2  Django的MTV架构 84

4.1.3  Django网站的构成及配合 85

4.1.4  在Django MTV架构下的网站开发步骤 86

4.2  Model简介 88

4.2.1  在models.py中创建数据表 88

4.2.2  在admin.py中创建数据表管理界面 91

4.2.3  在Python Shell中操作数据表 95

4.2.4  数据的查询与编辑 97

4.3  View简介 99

4.3.1  建立简易的HttpResponse网页 99

4.3.2  在views.py中显示查询数据列表 100

4.3.3  网址栏参数处理的方式 102

4.4  模板简介 104

4.4.1  创建template文件夹与文件 104

4.4.2  把变量传送到template文件中 105

4.4.3  在template中处理列表变量 108

4.5  本课范例网站的最终版本摘要 109

4.6  本课习题 112

第5课  网址的对应与委派 113

5.1  Django网址架构 113

5.1.1  URLconf简介 113

5.1.2  委派各个网址到处理函数 115

5.1.3  urlpatterns的正则表达式语法说明(适用于Django 2.0以前的版本) 118

5.1.4  验证正则表达式设计URL的正确性 121

5.2  高级设置技巧 122

5.2.1  参数的传送 122

5.2.2  include其他整组的urlpatterns设置 123

5.2.3  URLconf的反解功能 123

5.3  本课习题 124

第6课  模板深入探讨 125

6.1  模板的设置与运行 125

6.1.1  settings.py设置 125

6.1.2  创建模板文件 128

6.1.3  在模板文件中使用现有的网页框架 129

6.1.4  直播电视网站应用范例 130

6.1.5  在模板中使用静态文件 134

6.2  高级模板技巧 136

6.2.1  模板的继承 136

6.2.2  共享模板的使用范例 138

6.3  模板语言 139

6.3.1  判断指令 140

6.3.2  循环指令 141

6.3.3  过滤器与其他的语法标记 145

6.4  本课习题 149

第7课  Models与数据库 150

7.1  网站与数据库 150

7.1.1  数据库简介 150

7.1.2  规划网站需要的数据库 151

7.1.3  数据表内容设计 153

7.1.4  models.py设计 155

7.2  活用Model制作网站 156

7.2.1  建立网站 156

7.2.2  制作网站模板 160

7.2.3  制作多数据表整合查询网页 162

7.2.4  调整admin管理网页的外观 166

7.3  在Django中使用MySQL数据库系统 169

7.3.1  安装开发环境中的MySQL连接环境(Ubuntu) 169

7.3.2  安装开发环境中的MySQL连接环境(Windows) 170

7.3.3  使用Google云端主机的商用SQL服务器 174

7.3.4  DB Browser for SQLite的安装与应用 178

7.3.5  Windows Subsystem for Linux安装MySQL客户端程序 179

7.3.6  在Windows下使用Docker安装MySQL 180

7.4  本课习题 187

第8课  网站表单的应用 188

8.1  网站与表单 188

8.1.1  HTML

表单简介 188

8.1.2  活用表单的标签 192

8.1.3  建立本堂课范例网站的数据模型 196

8.1.4  网站表单的建立与数据显示 198

8.1.5  接收表单数据存储于数据库中 199

8.1.6  加上删除帖文的功能 200

8.2  基础表单类的应用 202

8.2.1  使用POST传送表单数据 202

8.2.2  结合表单和数据库 206

8.2.3  数据接收与字段的验证方法 210

8.2.4  使用第三方服务发送电子邮件 213

8.3  模型表单类ModelForm的应用 217

8.3.1  ModelForm的使用 218

8.3.2  通过ModelForm产生的表单存储数据 220

8.3.3  为表单加上防机器人验证机制 221

8.4  MongoDB数据库的操作与应用 223

8.4.1  MongoDB的安装 223

8.4.2  Python对MongoDB的连接与操作 229

8.4.3  在Django网站中访问MongoDB 231

8.5  本课习题 234

第9课  网站的Session功能 235

9.1  Session简介 235

9.1.1  复制Django网站 235

9.1.2  Cookie简介 236

9.1.3  建立网站登录功能 238

9.1.4  Session的相关函数介绍 243

9.2  活用Session 244

9.2.1  建立用户数据表 244

9.2.2  整合Django的信息显示框架 251

9.3  Django Auth用户验证 254

9.3.1  使用Django的用户验证系统 254

9.3.2  增加User的字段 257

9.3.3  显示新增加的User字段 259

9.3.4  应用Auth用户验证存取数据库 261

9.3.5  使用Django系统提供的登录界面 266

9.4  动态图表展示 268

9.4.1  导入CSV文件数据 268

9.4.2  使用Chart.js在网页上绘制图表 270

9.4.3  使用Plotly在网页上绘制图表 275

9.5  本课习题 280

第10课  网站用户的注册与管理 281

10.1  建立网站用户的自动化注册功能 281

10.1.1  django-registration-redux的安装与设置 281

10.1.2  创建django-registration-redux所需的模板 284

10.1.3  整合用户注册功能到分享日记网站 287

10.2  pythonanywhere.com免费的Python网站开发环境 292

10.2.1  注册pythonanywhere.com账号 292

10.2.2  在pythonanywhere.com免费网站中创建虚拟环境以及Django网站 299

10.2.3  创建投票网站的基本架构 305

10.3  本课习题 312

第11课  社交网站应用实践 313

11.1  投票网站的规划与调整 313

11.1.1  网站功能与需求 313

11.1.2  数据表与页面设计 315

11.1.3  移动设备的考虑 318

11.2  深入探讨django-allauth 320

11.2.1  django-allauth的Template标签 321

11.2.2  django-allauth的Template页面 322

11.2.3  获取用户的信息 324

11.3  投票网站功能解析 326

11.3.1  首页的分页显示功能 327

11.3.2  自定义标签并在首页显示目前的投票数 328

11.3.3  使用AJAX和jQuery改进投票的效果 330

11.3.4  避免重复投票的方法 336

11.3.5  添加和删除投票项 338

11.3.6  新建Google账号链接 343

11.4  本课习题 351

第12课  电子商务网站实践 352

12.1  打造迷你电商网站 352

12.1.1  使用项目模板 352

12.1.2  创建网站所需要的数据表 353

12.1.3  上传照片的方法django-filer 358

12.1.4  把django-filer的图像文件添加到数据表中 362

12.2  增加网站功能 365

12.2.1  分类查看产品 365

12.2.2  显示产品的详细信息 369

12.2.3  购物车功能 371

12.2.4  建立订单功能 376

12.3  电子支付功能 385

12.3.1  建立付款流程 385

12.3.2  建立PayPal付款链接 388

12.3.3  接收PayPal付款完成通知 393

12.3.4  测试PayPal付款功能 394

12.4  本课习题 401

第13课  全功能电子商务网站django-oscar实践 402

13.1  Django购物网站Oscar的安装与使用 402

13.1.1  电子购物网站模板 402

13.1.2  Django Oscar购物车系统测试网站安装 403

13.2  构建Oscar的应用网站 406

13.2.1  创建Django Oscar购物网站项目 406

13.2.2  加上电子邮件的发送功能 413

13.2.3  简单地修改Oscar网站的设置 415

13.2.4  增加PayPal在线付款功能 419

13.3  自定义Oscar网站 425

13.3.1  建立自己的templates,打造定制的外观 425

13.3.2  网站的中文翻译 437

13.4  本课习题 438

第14课  使用Mezzanine快速打造CMS网站 439

14.1  快速安装Mezzanine CMS网站 439

14.1.1  什么是Mezzanine 439

14.1.2  安装Mezzanine 440

14.1.3  安装Mezzanine主题 445

14.1.4  Mezzanine网站的设置与调整 449

14.2  使用Mezzanine构建电子商务网站 451

14.2.1  安装电子购物车套件与构建网站 451

14.2.2  自定义Mezzanine网站的外观 453

14.3  本课习题 456

第15课  名言佳句产生器网站实践 457

15.1  构建网站前的准备 457

15.1.1  准备网站所需的素材 457

15.1.2  图文整合练习 458

15.1.3  构建可随机显示图片的网站 460

15.2  产生器功能的实现 464

15.2.1  创建产生器界面 464

15.2.2  产生唯一的文件名 466

15.2.3  开始进行图文整合以产生图片文件 466

15.2.4  准备多个背景图片文件以供选择 471

15.3  自定义图片文件功能 475

15.3.1  加入会员注册功能 475

15.3.2  创建上传文件的界面 476

15.3.3  上传文件的方法 480

15.3.4  实时产生结果 482

15.4  本课习题 484

第16课  课程回顾与你的下一步计划 485

16.1  善加运用网站资源 485

16.2  部署上线的注意事项 488

16.3  SSL设置实践 490

16.4  程序代码和网站测试的重要性 493

16.5  其他Python框架 496

16.6  你的下一步计划 496

编辑推荐

《Python Django 4构建动态网站的16堂课》涵盖了从网站开发环境搭建到全功能电子商店网站的实践,内容丰富且实用。通过详细讲解Django的MVC架构、网址解析与域名委托、Template深入探讨、Models与数据库、网站表单与NoSQL数据库的应用、网站用户的注册与管理、社交网站连接应用实践等知识点,帮助读者全面掌握Django框架的使用。无论是初学者还是有经验的开发人员,都能通过《Python Django 4构建动态网站的16堂课》提供的详细实现步骤和代码示例,轻松打造各种类型的网站,包括个人博客、投票网站、电子商店网站、CMS网站、名言佳句产生器网站等。

《Python Django 4构建动态网站的16堂课》是学习和掌握Django框架的绝佳选择,强烈推荐给所有对网站开发感兴趣的读者。

本文摘自《Python Django 4构建动态网站的16堂课》,获出版社和作者授权发布。

Python Django 4构建动态网站的16堂课——jd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/680402.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

影响指挥中心操作台的材质选择的因素有哪些

指挥中心操作台作为现代指挥系统的重要组成部分,其材质的选择不仅关系到操作台的使用寿命和稳定性,更直接影响到整个指挥中心的运行效率和安全性。因此,对指挥中心操作台的材质设定一系列标准显得尤为重要。 耐用性考量:鉴于指挥中…

Android Dialog使用汇总

Dialog分类 AlertDialog Dialog 类是对话框的基类,官方建议我们不要直接实例化它,而是使用其子类来获取实例。AlertDialog是系统提供的一个直接子类,它能帮助我们快速构建出不同类型的弹窗。接下来就看下各种类型弹窗的使用。 1、普通对话框…

【遗传算法】【机器学习】【Python】常见交叉方法(一)、单点交叉和两点交叉

一、遗传算法流程图 交叉过程即存在于上图的”交叉“(crossover)步骤中。 二、单点交叉 随机地选择1个交叉位点进行交叉,如下图所示: 用random库实现随机性: import random# 简单的单点交叉方式 def sing_muta(lis…

AI写作革命:毕业论文的新助手

写作这件事一直让我们从小学时期就开始头痛,初高中时期800字的作文让我们焦头烂额,一篇作文里用尽了口水话,拼拼凑凑才勉强完成。 大学时期以为可以轻松顺利毕业,结果毕业前的最后一道坎拦住我们的是毕业论文,这玩意不…

操作简单中医电子处方中药划价系统软件视频教程,佳易王诊所电子处方管理系统软件

操作简单中医电子处方中药划价系统软件视频教程,佳易王诊所电子处方管理系统软件 一、前言 以下软件操作教程以,佳易王中西医诊所电子处方软件为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、软件支持中医和西医处方…

多功能光时域反射仪的工作原理

6426A-2101多功能光时域反射仪是新一代掌上型智能化光纤通信测量仪器,具有强大的功能和广泛的应用领域。它能够显示光纤及光缆的损耗分布曲线图,测量光纤及光缆的多种关键参数,包括长度、损耗、接续质量等,为光纤通信系统的工程施…

leetcode第867题:转置矩阵

matrix[i][j]需要放在转置矩阵的(j,i)位置 public class Solution {public int[][] Transpose(int[][] matrix) {int rows matrix.Length; int columns matrix[0].Length; int[][] array2 new int[columns][];// 初始化内部数组(列数)for (int i 0…

GAT1399协议分析(六)--校时

一、官方消息定义 DeviceIDType :GA/T1400.1,采集设备、 卡口点位、 采集系统、分析系统、视图库、应用平台等设备编码规则 TimeCorrectModeType: dateTime时间格式: TimeZone:时区,GAT1400里面没有找到具体内容&…

四川菊乐食品IPO终止:收入增速放缓,内控缺陷遭关注,产能过剩

近日,深圳证券交易所披露的信息显示,四川菊乐食品股份有限公司(下称“菊乐股份”或“菊乐食品”)及其保荐人中信建投证券撤回上市申请文件。因此,深圳证券交易所决定终止对该公司首次公开发行股票并在主板上市的审核。…

openGauss系数据库逻辑复制实现双写

本篇关于逻辑复制实现双写的案例,本来准备了3个环境,分别是306、501和505,奈何在5版本向3版本订阅的时候,出现了报错,但也将整个过程都记录下来吧。 环境准备 节点信息 MogDB# select version(); …

关于认证协议

本地用户认证 本地认证的意思就是,我们的电脑上存储着自己的账号密码,无论电脑是否联网,只要能开机,就可以输入账号密码登录到电脑中,工作组就是采用本地认证 本地认证流程 winlogon.exe -> 接收用户输入 -> …

哇噻,Zabbix7.0 LTS正式发布!功能又进化了!

📢📢📢📣📣📣 作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、My…

Python图像处理十讲

文章目录 1 初步2 光斑分析3 插值变换4 形态学处理5 滤波6 opencv初步7 相机校准8 图像分割9 边缘检测10 目标识别 1 初步 📷初步 图像的本质就是矩阵,图像处理,也就是矩阵处理。所以,在Python中,numpy和matplotlib可…

【python009】Python处理某区域边界经纬度数据至geohash

1.熟悉、梳理、总结项目研发实战中的Python开发日常使用中的问题、知识点等,如Python处理某区域边界经纬度数据至geohash,便于时空交集。 2.欢迎点赞、关注、批评、指正,互三走起来,小手动起来! 3.欢迎点赞、关注、批评…

FuTalk设计周刊-Vol.044

#AI漫谈 热点捕手 1、OpenAI取消GPT-4 Turbo,所有每日限制! 2月17日,OpenAI在社交平台宣布,取消了GPT-4 Turbo的所有每日限制,并将速率限制提升1倍。现在,每分钟可处理高达150万TPM的数据。 链接https:/…

数据库JDBC 查询sqlserver 2019 利用模板实现输入查询

数据源 SQLserver2019的数据,在数据库 名为 cyz 中创建几个表 create table book (bno char(10) primary key, cno char(10), bname char(20), bauthor char(20), bpress varchar(50), bprice decimal(8,2) )create table reader (rno char(10) primary key, rdepa…

java中如何灵活使用mysql中的json类型字段存储数据

日常数据库存储数据时经常会碰见一对多的数据结构类型,例如一笔订单中包含多个商品数据,一般情况下,可能会设计一个order表,一个sku表,但如果就想用一个表去存储这些订单和商品数据,那么应该如何去设计order表呢?这种情况下就可以使用万能json类型字段进行存储订单与商品一对多…

产品经理的“高光”时刻,你中了几个?

作为产品经理,都有着这样一个闪闪发光的梦,就是看着自己的产品从0到DAU过万、过十万,甚至是过百万。 不过想要成为过百万的大牛,天时地利任何一个都不能少,大多数的产品经理暂时还在打怪升级攒经验。 虽然暂时体验不…

怎么用微信小程序实现远程控制空调

怎么用微信小程序实现远程控制空调呢? 本文描述了使用微信小程序调用HTTP接口,实现控制空调,通过不同规格的通断器,来控制不同功率的空调的电源。 可选用产品:可根据实际场景需求,选择对应的规格 序号设备…

第二证券炒股技巧:短线炒股技巧?

在股票商场上,出资者分为长线和短线这两大类,其间短线炒股存在以下技巧: 1、早盘集合竞价时间上的技巧 早上集合竞价对短线出资者来说比较重要,其间早上集合竞价期间9:15-9:20之间出资者能够进行撤单操作&#xff0c…