点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

醉卧沙场君莫笑,古来征战几人回?

点击“博文视点Broadview”,获取更多书讯

任何一个开源框架或者工具,想要深入掌握其实现原理与运行机制,第一步当然是熟练使用它,紧接着便是深入其项目源码进行学习和实战。

然而,很多人一直在第一步徘徊,面对海量的复杂源码,他们往往是望而却步,这也严重阻碍了很多程序员的发展。

目前来说,Django框架是Python Web领域最流行的框架之一,与之齐名的有号称"小而精"的Flask框架以及以高性能著称的Tornado框架。

Django的特点是"大而全",这一点当你阅读了Django源码后就会深有体会。此外,最近Python Web领域还涌现了许多其他的高性能Web框架,如FastAPI等。

面对这么多优秀的框架,你只需要任意选择一个进行深入学习和研究,完全掌握该框架的实现原理即可,大部分框架的核心思想基本保持一致,只不过有着各自的侧重点。此外,任何一个优秀的Python Web框架的源码都是你学习Python编程的经典素材。

总而言之,学习Python Web框架源码的好处如下:

• 深入掌握框架的实现原理与运行细节;

• 基于源码掌握该框架的更多用法。当遇到框架自身Bug时,有能力自行解决;

• 通过框架源码深入学习Python编程语言;

• 掌握开源Web框架的通用开发思路。

市场上有太多的Django实战教材,这些教材能帮助读者迅速掌握Django开发,进入Django的大门。但学习不能仅此而已,还应该深入框架源码进行学习,最终达到完全掌握的目的。

为了给大家展示对一个完整框架源码的剖析过程,《深入理解Django:框架内幕与实现原理》一书应此而生。

该书剖析的源码版本为v2.2.16,虽然目前最新的Django源码已经到了v3.2.8,但是两者的整体源码结构与核心内容均保持高度一致。

此外,在Django3中最大的特点是引入了异步功能,而异步功能并不适合书中的实战演示。对于Django源码的研究,选择对v2.2的源码进行剖析是合理且不过时的。

本书的定位是完整剖析Django框架源码,它有如下三个特点

一是按模块解读源码。本书将Django源码按照功能模块进行了划分并依次解读。首先是依赖最小的Django命令原理,接着是Django内置的ORM框架、Django内置的模板引擎等。

二是采用最原始的学习方式,先实战,并提问,再追踪,后解答。本书在数个章节中采用先实战演示,然后从初学者角度提出疑问,再追踪源码,最后从源码中获取答案的方式,完成对某个功能模块源码的学习。这种方式适合大部分Django初学者,这也是作者学习Django源码的亲身体验。

三是大量实战演示,展示源码细节。在追踪源码的过程中,本书对Django源码中出现的许多核心类与函数进行了大量实战演示,以帮助读者理解其作用。

最后,这本书非常适合有一定Python基础的开发人员、Django爱好者,甚至是开源爱好者。

通过阅读本书,你将看到一个顶级开源项目的内部实现原理,看到Python编程的更多用法,更多关于Web框架的设计思想等等。这些会是程序员成长路上的顶级助力,让他受益终生。

AUTHOR

作者简介

沈聪

本科毕业于南昌大学,硕士毕业于武汉大学电子信息学院。16年毕业后进入中国电信IT研发中心担任后端开发工程师一职(后改名天翼云科技有限公司)。在天翼云媒体存储组从事大规模集群部署、运维平台开发以及集群日常运维、巡检等工作。多年运维开发经验,专注于Python自动化运维、分布式云存储等方向,研究过数个热门Python框架源码(Ansible/Django/Scrapy等)并在慕课网上有多个基础教程发表,内容涉及Nginx入门、Python算法、Django框架以及Scrapy框架。此外,他还出版了关于Ansible源码剖析的书籍《吃透Ansible:核心源码剖析与项目实战》。

全树强

本硕均毕业于武汉大学电子信息学院,全栈工程师。16年毕业后进入中国电信IT研发中心担任后端开发工程师一职,期间负责主导天翼云媒体存储组内部的统一运维管理平台的研发工作,对Django框架源码有较深的研究。此外,他还在Java后端和前端以及自动化运维领域做过大量开发工作,有丰富的开发经验。

 京东满100减50

快快扫码抢购吧!

如果喜欢本文

欢迎 在看留言分享至朋友圈 三连

赠书按以下方式和公众号互动,即有机会获赠《深入理解Django:框架内幕与实现原理》一书!
活动方式:在公众号后台回复“数据”参与活动,届时会在参与的小伙伴中抽取1名幸运鹅!活动时间:截至12月22日20点(周三)开奖,不见不散。快快拉上你的小伙伴参与进来吧~

如何深入学习Django?相关推荐

  1. 在学习django的时候

    在学习Django的时候,感觉之前学习的Python基础不牢,有些语法不能理解 转载于:https://www.cnblogs.com/monkeyjz2018/p/8438014.html

  2. php django mysql配置文件_Mysql学习Django+mysql配置与简单操作数据库实例代码

    <Mysql学习Django+mysql配置与简单操作数据库实例代码>要点: 本文介绍了Mysql学习Django+mysql配置与简单操作数据库实例代码,希望对您有用.如果有疑问,可以联 ...

  3. django构建网页_通过解决问题的方式学习django,律师如何构建副业

    django构建网页 This post was originally published on Codementor's blog 该帖子最初发布在 Codementor的博客上 "I'm ...

  4. 学习django就看这本书了!django book 2.0中文版

    所属网站分类: 资源下载 > python电子书 作者:熊猫烧香 链接:http://www.pythonheidong.com/blog/article/29/ 来源:python黑洞网 dj ...

  5. python进阶学习--- django框架解析 ---领悟编程语言共性与特性【后续详解】

    python进阶学习---> django框架解析 --->领悟编程语言共性与特性 1.python语言介绍   python解释型脚本语言 2.python执行原理   python解释 ...

  6. Django大咖之路: 如何对付学习Django过程中所遇到的挫败感?

    Django作为一个成熟的网站和网络应用开发框架,有着大而全的模块和功能.对于刚从事网站开发或刚熟悉Python语言的新手而言,觉得学习Django好难是一件非常普遍的事情.小编我就以亲身经历告诉你如 ...

  7. 在学习django时,出现__init__() missing 1 required positional argument: ‘on_delete‘错误

    bug处理 学习django时,创建两张表,并设置其中一张表的某一属性为外键,在进行构建迁移文件时,出现__init__() missing 1 required positional argumen ...

  8. Django项目开发——001如何学习django

    参考地址: https://code.ziqiangxuetang.com/django/django-tutorial.html https://www.django.cn/article/show ...

  9. Python学习——django模型

    django框架中的模型models是用来控制数据库的,属于MVT中的M层.有关数据的操作的都要经过models模块. 模型的使用步骤: 配置数据库 models.py定义模型类 激活模型 使用模型 ...

最新文章

  1. 第1期 | IOST开发者激励计划任务更新
  2. 在MySQL查询山东省男生信息_mysql查询语句
  3. poj 1961 Period
  4. sql privot
  5. 两招让陌生网络访问者现出原形
  6. leetcode 9 --- 回文数
  7. qos的_QoS 概述
  8. java后端模拟http请求_Http请求后端
  9. Android中通过ViewHelper.setTranslationY实现View移动控制(NineOldAndroids开源项目)
  10. 如何用anaconda创建python项目_PyCharm+cmd中使用Anaconda 与 新建Python环境(Windows)
  11. android自动开关机软件,AutoOff(定时关机软件)
  12. Oracle数据库连接报错
  13. ATAT的安装bug在centos7--换了个其他集群安装确没有问题(可能和系统的配置相关)
  14. 合理使用“搜索引擎和工具书”,提升“速度和加速度”
  15. TP5+阿里云OSS上传文件第三节,实现淘宝上传商品图片
  16. 从“制造大国”走向“制造强国”——“两化深度融合”是必然选择 考题答案
  17. YOLO train.txt创建
  18. Speedoffice(PPT)如何设置幻灯片大小
  19. 笔记 | gamma分布
  20. mac vscode插件位置

热门文章

  1. 如何打开或关闭windows的测试模式
  2. 计算机审计的三种作业模式,信息环境下的计算机审计方式.PDF
  3. 2022年最新山西道路运输安全员模拟真题题库及答案
  4. 内存规格书中Meg单位理解,容量理解
  5. android studio profiler 内存分析用法
  6. 记录工作日常OracleSql-mybatis
  7. 102届秋季广交会参展准入管理规定 2007年广交会参展准入资质标准
  8. 签到 2016.6.9
  9. Leetcode热题 二分法的主要应用(2)-夹逼准则
  10. 按键精灵物理实现重复点击