前  言

为什么要写这本书

随着2016年围棋大赛中AlphaGo战胜人类职业围棋棋手,人工智能开始在全球范围内火爆起来,随之而来的是Python语言的崛起,各大主流公司开始关注Python语言在各个方向的使用情况,从传统的运维方向,到数据爬虫、科学计算以及Web开发等,都能见到Python的身影,尤其是在Web软件开发中Python有着自己的优势。开发人员使用Python Web开发框架Django能非常高效地完成Web软件架构以及功能的快速开发,大大缩短开发周期,所以它深受各大软件公司的青睐,成为时下Web软件开发的首选框架。

目前,市场上关于Python Django开发及框架整合的书籍相对较少,使用Django 2.x版本的框架实现Web开发的书籍更少,能结合企业项目深入浅出地讲解基础技术和实际应用的书籍更加匮乏,使得大量想学习或者想充实自己的Python Web开发人员头疼不已,本书就是针对这种现状编写而成的。书中详尽介绍了Django框架各个组件的详细配置以及API,对于软件开发人员来说,这是一本不可多得的参考手册。本书的目的就是让读者全面、深入并且透彻地理解Django框架的开发理念和开发过程,提高自己的开发水平和项目实战能力。

本书有何特色

1. 技术贯穿案例,讲解深入浅出、通俗易懂

为了使读者能快速掌握书中介绍的技术内容,理解企业项目开发的标准规范和步骤,本书每一章都配有实际开发案例,讲解深入浅出、通俗易懂,可帮助读者学习和掌握技术。

2. 细节操作贯穿每个组件,是一本不错的参考手册

本书不仅在项目案例上进行了精细的筛选,而且对应用技术本身也进行了详尽的阐述,对技术的描述细致而又全面,是读者在进行项目开发时不错的参考手册,能随时辅助读者解决在项目开发过程中遇到的一些技术细节上关于功能完善的问题。

3. 项目实战切合企业标准,读者可从中快速了解软件生命周期

本书专门选取了一些在不同场景下,采用不同开发模式的实战项目,从项目的需求分析、详细设计以及项目开发,到后期的功能重构、项目部署,都进行了详细的讲解,能让读者第一时间了解软件开发的完整步骤,快速熟悉并从事Web开发工作。

4. 随书提供源代码,参考资源详尽、周到

本书大部分章节都提供了源代码,并详尽记录了开发过程,读者可以结合代码快速学习项目案例,快速掌握书中讲解的技术内容。

本书内容及知识体系

第1篇 开发工具及框架概述(第1~4章)

本篇介绍了Django用于Web应用软件开发的各大基础组件,结合每个组件中各种选项的细节处理及配置进行了详细的阐述。这部分内容涵盖了企业项目开发中的大部分功能和技术,通过学习,既可以快速了解并掌握Django框架用于Web应用软件开发的基础技术,也可以将其作为完善项目功能细节时的参考。

第2篇 典型模块开发(第5~9章)

本篇介绍了Django框架在Web领域中的各种扩展功能,讲解了Django框架内建的后端管理系统的使用、第三方管理系统Xadmin的详细配置及构建过程、对项目性能提升最重要的缓存功能配置和操作、基于Memcached和Redis的缓存配置,以及项目中必不可少的日志组件的使用、Ajax异步数据交互、网站邮件收发、身份认证和权限管理、数据分页、站点地图的建设等,最后对时下较为流行的Django rest_framework框架进行了阐述。细致的讲解和切合实际的项目案例,使读者第一时间掌握Web扩展功能,为项目开发提供详尽的参考。

第3篇 项目实战(第10~11章)

本篇主要介绍了前后端耦合、前后端分离两种架构模式下的软件开发流程,从需求分析到项目开发,以及可能出现的需求变动引起的项目重构,都进行了案例分析和整理,在项目定型和技术选型上结合书中讲解的技术,使读者达到学以致用的目的,通过项目实战快速掌握企业项目开发的步骤及规范的流程。

适合阅读本书的读者

• 想全面学习Web开发技术的人员。

• 广大Web开发程序员。

• Python Django Web开发工程师。

• 希望提高项目开发水平的人员。

• 专业培训机构的学员。

• 软件开发项目经理。

• 需要一本案头必备查询手册的人员。

阅读本书的建议

• 没有Python基础的编程新手,需要掌握一定的Python程序开发基础知识。

• 有一定使用Django框架基础的读者,可以根据实际情况选择阅读各个模块和项目案例。

• 对于每一个模块和项目案例,先自己思考实现的思路,然后再阅读,学习效果更好。

提示:从博文视点官网(http://www.broadview.com.cn/40426)下载本书相关代码。