首页 > 图书中心 > Django 3项目实例精解

前言

前    言

Django是一个功能强大的Python Web框架,支持快速开发过程及简洁、实用的设计方案。无论是对于初学者还是专家级程序员,这一特点颇具吸引力。

本书将引领读者学习专业Web应用程序的开发流程。除框架知识外,本书还将讲解如何将其他较为流行的技术整合至Django项目中。

本书将讨论真实应用程序的构建过程、常见问题的处理,并逐步实现多种最佳实践  方案。

在阅读完本书后,读者将能够理解Django的工作方式,以及如何打造具有实用性的高级Web应用程序。

适用读者

本书是针对具备一定的Python知识,同时希望以一种实用的方式学习Django的读者而准备的。或许Django对于读者来说是一项全新的事物;抑或读者对Django稍有了解且希望进一步学习。通过打造实用的开发项目,本书可帮助读者掌握大部分架构知识。另外,本书要求读者对某些编程概念有所了解,同时具备一些HTML和JavaScript方面的知识。

本书内容

第1章通过编写博客应用程序向读者介绍框架知识。其间,我们将构建基本的博客模型、视图、模板以及URL以显示博客内容。另外,本章还将介绍如何利用Django 对象关系映射器(ORM)构建QuerySets,并配置Django管理网站。

第2章将讨论如何处理表单问题、利用Django发送邮件以及第三方应用程序的整合操作。读者将尝试实现博客的评论系统,并通过电子邮件共享帖子内容。此外,本章还将讨论标签系统的构建处理过程。

第3章将介绍如何创建自定义模板标签和过滤器。除此之外,本章还将展示如何使用网站地图框架,并对帖子构建博客订阅功能。最后,通过PostgreSQL的全文本搜索功能构建搜索引擎,以完善博客应用程序。

第4章讨论如何构建社交网站,并使用Django身份验证框架构建用户的账户视图。另外,本章还将了解如何使用社交网络创建自定义用户配置文件模型,并将身份验证机制应用到项目中。

第5章将讨论如何将社交应用程序转换为图像书签站点。其中,我们将针对模型定义多对多的关系,在JavaScript中创建一个AJAX书签,并将其集成到项目中。本章还进一步展示了如何生成图像缩略图和为视图创建自定义装饰器。

第6章介绍如何针对用户构建跟踪系统,并通过创建用户活动流应用程序完成图像书签站点的建立,以及如何优化QuerySets并与信号协同工作。同时,本章还将Redis整合至项目中,以对图像视图进行计数。

第7章将讨论如何构建一个在线商店,其中包括目录模型、基于Django会话的购物车(并对此设置上下文处理器),以及通过Celery向用户发送异步通知。

第8章讨论如何将支付网关整合至在线商店中。除此之外,还将定制管理站点以将订单导出到CSV文件中,并动态生成PDF发票。

第9章将讨论如何创建优惠券系统并使用折扣订单。同时,本章展示了如何在项目中实现国际化机制以及如何转换模型。此外,还将使用Redis构建一个产品推荐引擎。

第 10 章将设计一个电子教育平台,并向项目中添加某些固件、使用模型继承机制、设置自定义模型字段、使用类视图,以及管理分组和权限。此外,我们还将打造一个内容管理系统并处理表单集。

第 11 章将尝试构建一个学生注册系统,并管理学生的课程注册行为。该系统将显示不同的课程内容,同时还将学习如何使用缓存框架。

第12章将采用Django REST框架,进而针对项目构建RESTful API。

第13章阐述了如何针对学生使用Django Channels创建实时聊天服务器。读者将学习基于WebSocket的异步通信功能。

第14章讨论如何通过uWSGI、NGINX和Daphne设置产品环境,并利用HTTPS解决安全问题。此外,本章还解释了如何构建自定义中间件及自定义管理命令。

背景知识

在阅读本书时,建议读者具备一定的Python知识,并熟悉HTML及JavaScript。另外,在阅读本书之前,建议读者阅读Django官方文档的1~3部分,对应网址为https://docs. djangoproject.com/en/3.0/intro/tutorial01/。

资源下载

读者可访问www.packt.com并通过个人账户下载示例代码文件。在www.packtpub. com/support网站注册成功后,我们将以电子邮件的方式将相关文件发予读者。

读者可根据下列步骤下载代码文件:

(1)登录http://www.packt.com并在网站注册。

(2)选择Support选项卡。

(3)单击Code Downloads。

(4)在Search文本框中输入书名并执行后续命令。

当文件下载完毕后,确保使用下列最新版本软件解压文件夹:

Windows系统下的WinRAR/7-Zip。

Mac系统下的Zipeg/iZip/UnRarX。

Linux系统下的7-Zip/PeaZip。

另外,读者还可访问GitHub获取本书的代码包,对应网址为https://github.com/ PacktPublishing/Django-3-by-Example。

此外,读者还可访问https://github.com/PacktPublishing/,以获取丰富的代码和视频资源。

阅读提示

我们提供了一个PDF文件,其中包含本书使用的屏幕截图/图表的彩色图像。读者可以通过以下地址下载:https://static.packt-cdn.com/downloads/9781838981952_ColorImages.pdf。

本书约定

本书通过不同的文本风格区分相应的信息类型。下面通过一些示例对此类风格以及具体含义的解释予以展示。

代码块如下:

from django.contrib import admin

from .models import Post

admin.site.register(Post)

代码中的重点内容加粗表示:

INSTALLED_APPS = [

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'blog.apps.BlogConfig',

]

命令行输入或输出如下所示:

python manage.py runserver

 图标表示较为重要的说明事项。

 图标表示提示信息和操作技巧。

读者反馈和客户支持

欢迎读者对本书提出建议或意见并予以反馈。

对此,读者可以书名作为邮件标题,发送邮件至customercare@packtpub.com,我们将竭诚为您服务。

勘误表

尽管我们希望做到尽善尽美,但错误依然在所难免。如果读者发现谬误之处,无论是文字错误还是代码错误,还望不吝赐教。对此,读者可访问www.packtpub.com/support/errata,选取对应书籍,输入并提交相关问题的详细内容。

版权须知

一直以来,互联网上的版权问题从未间断,Packt出版社对此类问题非常重视。若读者在互联网上发现本书任意形式的副本,请告知我们网络地址或网站名称,我们将对此予以处理。关于盗版问题,读者可发送邮件至copyright@packt.com。

若读者针对某项技术具有专家级的见解,抑或计划撰写书籍或完善某部著作的出版工作,则可访问authors packtpub.com。

问题解答

若读者对本书有任何疑问,均可发送邮件至questions@packtpub.com,我们将竭诚为您服务。

版权所有(C)2022 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802013248号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘