欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Django项目开发实战(新时代技术新未来)
      • 作者:编者:黄索远|责编:刘洋
      • 出版社:清华大学
      • ISBN:9787302552239
      • 出版日期:2020/06/01
      • 页数:310
    • 售价:31.6
  • 内容大纲

        本书将Django框架的特性和Web开发实战结合在一起,介绍如何使用Django框架进行Web应用的开发,帮助读者构建跨平台的应用程序,节省使用Django框架开发Web的宝贵时间。找到针对这些问题的解决方案,大多数编程难题都会迎刃而解。
        本书内容涵盖表单处理、会话管理、数据库交互、安全防护及程序的部署维护等运维方面的知识,并且介绍了高可用的Web应用原理。在本书中,读者可以更加方便地找到各种编程问题的解决方案。
        本书实用性强,特别适合使用Python/PHP等进行Web开发的IT从业者和对Web开发感兴趣的读者阅读。
  • 作者介绍

        黄索远,2013年开始进入互联网行业,多年来一直专注于Python后台开发工作,有扎实的理论基础和丰富的实践经验。曾在腾讯、字节跳动公司担任高级软件开发工程师。
  • 目录

    第1篇  开发工具及框架概述
      第1章  从零开始学Django
        1.1  网站运行原理
          1.1.1  HTTP
          1.1.2  Web发展
          1.1.3  浏览器
          1.1.4  MVC模式
        1.2  Python Web编程
          1.2.1  通用网关接口
          1.2.2  WSGI协议
          1.2.3  模板引擎
        1.3  快速上手Django
          1.3.1  配置开发环境
          1.3.2  创建项目
          1.3.3  配置说明
          1.3.4  创建应用
          1.3.5  启动开发服务器
          1.3.6  编写一个页面
        1.4  总结
        1.5  练习
    第2篇  项目案例实战
      第2章  构建电商网站
        2.1  网站需求分析
          2.1.1  需求
          2.1.2  需求分析
        2.2  网站结构
          2.2.1  分层设计
          2.2.2  技术选型
        2.3  用户模块
          2.3.1  Django自带的用户模块
          2.3.2  一对一扩展用户模型
          2.3.3  继承AbstractBaseUser
          2.3.4  继承AbstractUser
        2.4  商品库模块
          2.4.1  设计模型
          2.4.2  获取商品
        2.5  订单模块
          2.5.1  购物篮模型
          2.5.2  订单模型
          2.5.3  获取订单数据
        2.6  统计模块
        2.7  总结
        2.8  练习
      第3章  Django和数据库
        3.1  管理
          3.1.1  配置
          3.1.2  连接池
          3.1.3  更改表结构
        3.2  查询
          3.2.1  保存对象

          3.2.2  获取对象
          3.2.3  懒加载和缓存
          3.2.4  聚合查询
        3.3  事务
          3.3.1  事务管理
          3.3.2  自动提交
          3.3.3  提交后执行操作
        3.4  数据库并发控制
          3.4.1  冲突
          3.4.2  悲观锁
          3.4.3  乐观锁
          3.4.4  解决冲突
        3.5  数据库扩展
          3.5.1  扩展方法
          3.5.2  读写分离
          3.5.3  垂直分库
          3.5.4  水平扩展
          3.5.5  算法分片
          3.5.6  动态分片
          3.5.7  全局ID
        3.6  MySQL实践
        3.7  总结
        3.8  练习
      第4章  视图
        4.1  配置URL
          4.1.1  URL匹配
          4.1.2  配置嵌套
          4.1.3  反向解析URL
        4.2  视图函数
          4.2.1  视图函数
          4.2.2  请求和响应对象
          4.2.3  模板响应对象
        4.3  视图类
          4.3.1  基本用法
          4.3.2  视图类的优点
        4.4  文件上传
          4.4.1  文件表单
          4.4.2  文件存储
          4.4.3  使用对象存储系统
        4.5  生成文件
          4.5.1  生成CSV文件
          4.5.2  生成PDF文件
        4.6  中间件
        4.7  总结
        4.8  练习
      第5章  模板
        5.1  Web模板系统
        5.2  Django模板系统
          5.2.1  配置
          5.2.2  模板语言

        5.3  模板继承
        5.4  字符转义
        5.5  自定义标签和过滤器
          5.5.1  代码路径
          5.5.2  编写自定义过滤器
          5.5.3  自定义标签
        5.6  总结
        5.7  练习
      第6章  表单
        6.1  网页表单
          6.1.1  表单元素
          6.1.2  提交数据
        6.2  Django表单
          6.2.1  处理流程
          6.2.2  Form类
          6.2.3  ModelForm类
          6.2.4  表单集合
        6.3  AJAX表单
          6.3.1  AJAX技术
          6.3.2  动态表单
        6.4  验证码
          6.4.1  表单验证码
          6.4.2  AJAX验证码
        6.5  总结
        6.6  练习
      第7章  Django和缓存
        7.1  Web缓存系统
          7.1.1  Redis缓存
          7.1.2  HTTP缓存
        7.2  Django缓存系统
          7.2.1  配置缓存
          7.2.2  使用缓存
          7.2.3  缓存页面
          7.2.4  使用HTTP缓存
        7.3  缓存替换策略
        7.4  写入策略
          7.4.1  Cache-Aside模式
          7.4.2  Write-Through模式
          7.4.3  Write-Back模式
        7.5  高可用缓存系统
          7.5.1  Redis集群
          7.5.2  Codis集群
          7.5.3  缓存穿透和雪崩
        7.6  总结
        7.7  练习
      第8章  Django和消息队列
        8.1  消息队列
          8.1.1  消息队列系统
          8.1.2  使用消息队列
          8.1.3  AMQP

          8.1.4  使用RabbitMQ
        8.2  Django和Celery框架
          8.2.1  任务类
          8.2.2  在Django中使用Celery
          8.2.3  定时任务
          8.2.4  任务路由
          8.2.5  任务工作流
          8.2.6  最佳实践
        8.3  高可用消息队列
          8.3.1  RabbitMQ高可用
          8.3.2  NSQ系统
        8.4  总结
        8.5  练习
      第9章  Django与安全
        9.1  安全中间件
          9.1.1  跨站点脚本防护
          9.1.2  跨站点伪造请求防护
          9.1.3  SQL注入防护
          9.1.4  点击劫持
          9.1.5  访问白名单
        9.2  数据安全
          9.2.1  密码保护
          9.2.2  安全连接
          9.2.3  请求签名
          9.2.4  重放攻击
        9.3  总结
        9.4  练习
      第10章  Django和访问控制
        10.1  认证方式
          10.1.1  HTTP基本访问认证
          10.1.2  访问令牌
          10.1.3  签名验证
          10.1.4  OAuth2验证
        10.2  会话状态
        10.3  控制策略
          10.3.1  访问控制列表
          10.3.2  Django权限系统
          10.3.3  基于身份的访问控制
        10.4  总结
        10.5  练习
      第11章  Django和测试
        11.1  单元测试
        11.2  Django单元测试
          11.2.1  编写测试用例
          11.2.2  运行测试用例
        11.3  Django测试工具
          11.3.1  测试客户端
          11.3.2  测试类
        11.4  Mock测试
          11.4.1  Mock对象

          11.4.2  模拟返回值
          11.4.3  副作用
          11.4.4  限定模拟的范围
        11.5  总结
        11.6  练习
    第3篇  高可用技术架构
      第12章  Django与部署
        12.1  软件部署
        12.2  部署Django
          12.2.1  Web服务网关接口
          12.2.2  配置uWSGI服务器
          12.2.3  配置Gunicorn服务器
          12.2.4  配置Nginx服务器
        12.3  服务管理
          12.3.1  使用Supervisord管理服务
          12.3.2  使用systemd管理服务
        12.4  Django与虚拟化技术
          12.4.1  使用Vagrant部署Django应用
          12.4.2  使用Docker部署Django应用
          12.4.3  Docker的reap问题
        12.5  总结
        12.6  练习
      第13章  Django与负载均衡
        13.1  调度算法
          13.1.1  循环调度算法
          13.1.2  最少连接调度算法
          13.1.3  哈希调度算法
        13.2  网络冗余
          13.2.1  网卡绑定
          13.2.2  虚拟路由器冗余
        13.3  常用负载均衡器
          13.3.1  负载均衡器的类型
          13.3.2  Linux虚拟服务器
          13.3.3  Nginx反向代理
        13.4  服务发现
          13.4.1  服务注册中心
          13.4.2  注册服务
          13.4.3  发现服务
        13.5  总结
        13.6  练习
      第14章  Django与日志
        14.1  Python日志模块
          14.1.1  日志模块组件
          14.1.2  使用日志模块
          14.1.3  配置日志模块
        14.2  Django日志工具
        14.3  日志管理
          14.3.1  Elastic技术栈
          14.3.2  Elasticsearch集群
        14.4  总结

        14.5  练习
      第15章  监控
        15.1  监控数据采集
          15.1.1  工作指标
          15.1.2  资源指标
          15.1.3  事件
          15.1.4  收集数据
        15.2  告警
        15.3  使用Prometheus
          15.3.1  Prometheus的工作方式
          15.3.2  抓取Linux系统数据
          15.3.3  抓取Nginx监控数据
          15.3.4  抓取MySQL监控数据
          15.3.5  数据存储
          15.3.6  告警
        15.4  总结
        15.5  练习
      第16章  常用工具
        16.1  Git版本控制系统
          16.1.1  Git工作方式
          16.1.2  Gitflow工作流
          16.1.3  Git日志用法
        16.2  Linux常用软件
          16.2.1  安全Shell
          16.2.2  进程状态
          16.2.3  系统性能
        16.3  性能剖析
          16.3.1  调用路径图
          16.3.2  性能测试
          16.3.3  使用Pyflame生成火焰图
        16.4  总结
        16.5  练习