前 言
Python是当前热门的开发语言之一,它有着广泛的应用领域。无论是网络爬虫、Web开发、数据分析还是人工智能等领域,Python都备受开发者的青睐。目前,很多企业都选择Python作为网站服务器的开发语言。因此,掌握Web开发是Python开发者必不可少的技能之一。
Django是Python在Web开发领域的首选框架,其优势在于强调开发的规范性,这不仅有助于规范开发者的编码习惯,而且与企业对规范化管理的需求相契合。因此,Django已成为开发人员必学的Web框架之一。
本书讲述的内容基于Django 5及更高版本,涉及从Django入门到网站架构设计的广泛主题。通过对本书内容的学习,读者能够深入了解Web开发技术,并在通往架构师之路上稳步前行。
本书结构
本书共16章,各章内容概述如下:
第1章介绍网站的基础知识和Django的环境搭建,包括网站的运行原理及开发流程、Django的安装、开发环境的搭建、项目的创建与调试。
第2章介绍Django的项目配置,包括基本配置、资源文件配置、模板配置、数据库配置和中间件。
第3章讲述路由的编写规则,包括路由变量的设置、设置正则表达式、命名空间与路由命名、路由的反向解析和重定向。
第4章介绍视图函数的定义方法,其中包括用户的响应方式、文件下载、HTTP请求信息、文件上传、Cookie反爬虫功能以及请求头反爬虫功能。
第5章讲述视图类的定义与使用,将视图类根据用途划分为三部分:数据显示视图、数据操作视图和日期筛选视图。
第6章详细讲解模板的编写方法,包括Django模板引擎和Jinja2模板引擎的使用。
第7章涵盖模型与数据库的内容,包括模型的定义与数据迁移、数据表的数据关系、数据的读写操作、多数据库的连接与使用,并讲述数据表的动态创建和MySQL分表功能。
第8章介绍表单与模型,主要讲述表单与模型如何结合生成数据表单,并通过数据表单操作实现数据表的数据读写。例如,同一网页多个表单、一个表单多个按钮、表单批量处理和多文件批量上传等常见的Web应用。
第9章介绍Django内置的Admin后台系统,讲述Admin的基本设置以及一些常用功能的二次开发。
第10章介绍Django内置的Auth认证系统,讲述内置模型User的使用和扩展,以及如何实现用户注册和登录功能、用户权限的设置和用户组的设置。
第11章介绍Django常用的Web应用程序,包括会话控制、缓存机制、CSRF防护、消息框架、分页功能、国际化和本地化、单元测试、自定义中间件、异步编程(多线程的应用、ASGI服务、异步视图以及异步与同步的转换)以及信号机制。
第12章介绍Django的第三方功能应用,如DRF框架开发API接口、生成网站验证码、站内搜索引擎、第三方网站实现用户注册、异步任务和定时任务、即时通信实现在线聊天。
第13章讲述博客系统的开发,网站功能包括用户(博主)注册和登录、博主资料信息、图片墙功能、留言板功能、文章列表、文章正文内容以及Admin后台系统。
第14章讲述音乐网站平台的开发,网站主要功能包括首页、歌曲排行榜、歌曲搜索、歌曲播放、歌曲点评、用户注册和登录、用户中心、Admin后台管理以及网站异常机制。
第15章讲述基于前后端分离与微服务架构的网站开发,包括Vue开发用户界面、Django开发API接口、微服务架构、JWT认证以及微服务注册与发现。
第16章分别讲述Django如何部署在Windows和Linux上。在Windows上采用IIS+wfastcgi+Django部署方案;在Linux上是基于Docker部署Nginx+uWSGI+Django来搭建网站。
本书特色
本书具有以下特色:
图文并茂,深入浅出:全书图文并茂地介绍了Django在Web开发中的 应用,从零基础到项目实战,对Django 5的各项功能进行了深入浅出 的讲解,同时,很多图示还进行了指示性标注,非常易于初次上手 Django的读者理解。
步骤教学,案例丰富:使用一步一步的教学方式,无论是功能讲解, 还是项目示例,尽可能一步一步地详细阐述操作流程,并辅之以丰富 的代码示例。
项目实战,拒绝纸上谈兵:书中除了提供了大量小示例,还提供完整 的Web网站项目,从项目需求分析到完整开发流程全方位讲解,特别 是Web项目包含的功能足够完整,已非常接近于实际项目,对于提升 读者的开发技能大有裨益。
注重介绍主流技术和企业级开发技能:书中介绍了当前Web开发广泛 使用的微服务技术和前后端分离架构技术,可帮助读者掌握主流开发 技术,成长为真正的企业级开发高手。
资深作者带你飞:笔者作为开发人从业超过十年,长期从事Web开发,拥有丰富的大型项目的实战经验,你从本书不仅能够掌握实战技能 ,还能感受到笔者的经验之谈。
源代码下载
本书所有程序代码均在Python 3.10和Django 5下调试通过,读者可以扫描下面的二维码下载:
如果在下载过程中遇到问题,可发送邮件至booksaga@126.com,邮件主题为“Django 5 Web应用开发实战”。
读者对象
本书主要适合以下读者阅读:
?Django初学者及在校学生
?Django初级开发工程师
?从事Python网站开发的技术人员
?其他学习Django的开发人员
虽然笔者力求本书更臻完美,但由于水平有限,书中难免存在疏漏之处,尤其是随着Django版本的更新,书中提供的源代码可能会在运行过程中出现问题。因此,竭诚欢迎广大读者和专家批评指正,笔者将不胜感激。
黄永祥
2024年1月1日
