巴西足球
Django企业开发实战:高效Python Web框架指南
12推荐 收藏
20.5K阅读
图灵原创

Django企业开发实战:高效Python Web框架指南

胡阳 (作者)
上市销售
专享福利:腾?#23545;?#20195;金券

购买本书后,通过封底的刮刮卡密码,可以获得价值100元的腾?#23545;?#20195;金券
(满125元减100元),它可用于购买腾?#23545;?#25152;有预付费产品,领取规则、指引详见:
https://cloud.tencent.com/act/turing。
本书以从零开发一个博客系统为例,介绍Django在日常工作中的应用。
本书共分为四部分。第一部分介绍编码之前的准备工作,包括需求分析、Web开发基础以及选型时Demo的练习。第二部分开始正式实?#20013;?#27714;,介绍了环境配置、编码规范以及合理?#21335;?#30446;结构划分。通过对Django各部分(Model、Form、admin、View)的介绍和使用,完成了一个基础的博客系统。第三部分在前面的基础上介绍Django第三方插件的使用,通过引入这些插件进一步增强我们?#21335;?#32479;。最后一部分也是正式工作中必不可少的部分,包含调试代码、优化系统、压力测试以及自动化等内容。
本书适合Python Web开发人员阅读。

出版信息

  • 书  名Django企业开发实战:高效Python Web框架指南
  • 系列书名图灵原创
  • 执行编辑关于本书的内容有任何问题,请联系 王军花
  • 出版日期2019-01-25
  • 书  号978-7-115-50689-4
  • 定  价99.00 元
  • 页  数372
  • 印刷方式单色
  • 开  本16开
  • 出版状态上市销售

所属分类

同系列书

  • Linux就是这个范儿

    ?#22686;?#30922;   Jie Zhang(张洁)  

    本书内容源自?#21592;?#25216;术大学的培训实战。由来自阿里巴?#22270;?#22242;的资深Linux系统专家?#22686;?#30922;和同样来自阿里巴?#22270;?#22242;的支...

  • Go语言编程

    本书以介绍Go语言特性为主,示例则尽量采用作者开发团队平常的实践,内容涉及内存管理(堆和栈)、错误处理、OOP...

  • 一个64位操作系统的设计与实现

    田宇  

    本书讲述了一个64位多核操作系统的自制过程。此操作系统自制过程是先从虚拟平台构筑起一个基础框架,随后再将基础框...

  • 翻译漫谈——怎样翻译更地道

    余晟  

    翻译是一门非常强调实践并依赖练习的手?#26632;睿?#36825;本书是作者从翻译“票?#36873;?#20986;发,走“野路”逐渐成长为翻译“熟手”的经...

  • 推荐系统实践

    项亮   陈义   王益  

    本书从数据出发,一步步地介绍在得到什么数据的时候可以设计怎样的推荐系统。面向广大的推荐系统开发人员,以实战为基...

本书特色

通过从零开发到部署完整案例,介绍Python Web框架Django在企业中的应用
资深开发工程师the5fire多年开发经验总结
以博客系统为原型,教你以真实的视角搭建自己的生产环境

目录

序一 阅读
序二 阅读
前言 阅读
第一部分 初入江湖
第1章 需求
第2章 框架基础?#22270;?#26415;选型 阅读
第3章 Django小试牛刀
第二部分 正式开发
第4章 进入开发
第5章 奠定项目基石:Model
第6章 开发管理后台
第7章 开发面向用户的界面
第8章 引入前端样式框架Bootstrap
第9章 完成整个博客系统
第三部分 第三方插件的使用
第10章 使用第三方插件增强管理后台
第11章 使用django-rest-framework
第四部分 上线前的准备及线上问题排查
第12章 调试和优化
第13章 配置MySQL和缓存
第14章 上线前的准备
第15章 升级到Django 2.0
第16章 最后总结
附录A 使用Fabric 2.0
附录B 使用uWSGI来启动Django程序
附录C Sentry安装和配置
附录D 评论验证码功能 
附录E 通过signal来解耦代码
附录F 实现文章置顶的几种方案
附录G 以腾?#23545;?#20026;例演示部署流程

作者介绍

胡阳,网名the5fire,前搜狐资深开发工程师,现任知乎资深开发工程师,负责部分业务的后端开发和团队管理。同时也是腾?#23545;?#26368;具价值专家(TVP)。
具有10年编程经验和写博客经验,?#19981;?#36890;过代码来构建一些有价值的东西,也爱好记录和分享自己的经验。
2011年从Java转到Python后,便不可自拔,主要熟悉的Web框架是Django和Tornado。赞叹于Python的开发效率,欣赏Django完备的功能点对实际项目开发中程序员生产力的提升。

大家也?#19981;?/h4>

  • Python数据科学与机器学习:从入门到实践

    【美】弗兰克?凯恩(Frank Kane)   陈光欣   译

    本书介绍了使用Python进行数据分析和高效的机器学习,首先从一节Python速成课开始,然后回顾统计学和概率...

  • 深入理解Python特性

    [德]达恩·巴德尔(Dan Bader)   孙波翔   译

    本书致力于帮助Python开发人员挖掘这门语言及相关程序库的优秀特性,避免重复劳动,同时写出简洁、流畅、易读、...

  • 精通特征工程

    爱丽丝·郑   阿曼达·卡萨丽   陈光欣   译

    本书介绍大量特征工程技术,阐明特征工程的基本原则。主要内容包括:机器学习流程中 的基本概念,数值型数据的基础...

  • Python科学计算最佳实践:SciPy指南

    [澳]胡安?努内兹-伊格莱西亚斯   [美]斯特凡?范德瓦尔特   [澳]哈丽雅特?达士诺   陈光欣   译

    本书旨在介绍开源的Python算法库和数学工具包SciPy。近年来,基于NumPy和SciPy的完整生态系统迅...

  • Flask Web开发:基于Python的Web应用开发实战(第2版)

    [美]米格尔?格林贝格   安道   译

    本书共分三部分,全面介绍如何基于Python微框架Flask进行Web开发。第一部分是Flask简介,介绍使用...

相关文章

  • 威灵顿 3推荐

    为什么你应该在项目中使用pyenv+Pipenv:为项目设置超棒的本地开发工作流之秘籍

    译者评价: 软件开发者对工程环境、对开发工具的追求是不会?#20849;?#30340;。随着开发要素的变迁,工具会不断演进、创新,来适应新的需求,解决面临的各类问题。开发者对新工具的挖掘/理解/采纳,也会反复循环。我?#24378;?#23450;得考虑切换工具的成本,但是也不能固步自封,因循守旧。这个就要自行评估和平衡了。…...

  • 张敏 11推荐

    Django 最佳学习路径 | 涵盖众多学习?#35797;?/a>

    ![enter image description here][1] 学习编程的路上, 下面的场景你是否似曾相识? ———— 场景一 当初,零编程基础,想做个网?#23613;?听说Python能做网站,而且很?#29275;?于是我… ...

  • An楠 推荐

    00 | 作者介绍

    ?#19994;?#32463;验,或许对你有用 —胡阳(the5fire) ...

  • An楠 推荐

    00 | 课程介绍

    课程目标: 了解正式环境中的Django/Web开发 学习真实项目开发中涉及到的技能 理解Web系统的原理 能够使用Django独立开发项目 ...

  • An楠 推荐

    第1章 需求

    凡事得有个?#20174;桑?#23601;像物理中的能量守恒定律一样,各个模块(部门、组)之前相关作用、推动,让这整个公司的业务运作起?#30784;?#19981;可能凭空产生能量。做项目开发也是一样,总得有一个需求过来,启动一个项目,或者推动整个项目的进展。这个需求可能是?#20064;?#25552;出来的,?#37096;?#33021;是产品提出来的,最终到开发组这里…...

  • An楠 推荐

    01 | 需求

    这是产品经理跟开发人员交流的必不可少的东西,很多东西如果不落实到文档上,出了问题很难追溯。另外交流基本靠吼的方式也很容易丢失信息。所以无论是什么需求,能落实到文档?#31995;?#19968;定要落实。即便是临时需求也要通过?#22987;?#30340;方式沟通。 接下来说博客开发的需求。 博客的需求?#24471;? 介绍 博…...

  • An楠 推荐

    02 | 需求分析/评审

    对于有经验的产品经理来说,在做任何需求的时候,都会计划的足够细致,落实到一个功能点。更好的是能够出原型稿。之后可以通过原型来对每一个功能点进行逐一核对。 对技术来说评审的目的有三个 一、明确所有的需求点,避免返工; 二、确认技术可行性,避免延期或者后面再修改需求; 三、确…...

  • An楠 推荐

    03 | 功能分析

    功能分析 上一节我们对需求进行了评审,经过对?#38468;?#30340;沟通之后,产?#33539;?#38656;求进行了修改和明确。 需求列表 用户端部分 网站需要对SEO友好,具体可参考搜索引擎?#22659;?#30333;皮书,另外需要给搜索引擎提供xml格式的sitemap文件。 博客需要提供搜索功能,搜索范围限定在标题,分类,…...

  • An楠 推荐

    04 | 模块划分

    功能模块划分?#22270;?#26415;点 从前面的几篇文章,我们已经知道了一个需求经过怎么样的产品跟技术之间的沟通或者PK之后,才能?#33539;?#19979;?#30784;?#24403;我们有了完整的需求之后,再接下来的一步就是做功能分析?#22270;?#26415;选型,以及架构设计。 但是,很重要的一点是,需要再次提醒一下。一定要?#26159;?#26970;后期产品?#31995;?#35745;划,…...

  • An楠 推荐

    第2章 技术选型

    框架基础?#22270;?#26415;选型 上一章中我们对需求进行了评审和分析,最终得到了具体要开发的功能点,以及对模块进行了划分。现在我们需要做的是根据要开发的功能进行框架的选择。 针对不同的场景,选择不同的技术架构,所产生的开发成本和维护成本都不一样。特定场景下合?#23454;?#25216;术架构能够让开发人?#22791;?#24555;…...

  • An楠 推荐

    01 | 技术选型

    Python2.7 vs Python3.x 选择2和选择3是近?#25913;?#26469;比较流行的一个“话题”,?#27604;?#36825;个只是在网络某些论坛或者社区里。在真实的环境下没有这么多的纠结。选择目前应用最广泛的,周围人都在用,并且自?#21644;?#38431;能够hold住的,就是最合?#23454;?#36873;择。对于2和3的差异,其实写起代…...

  • An楠 推荐

    02-1 | WSGI02 (上)

    WSGI——Web框架基础 简介 WSGI,全称是Web Server Gateway Interface(Web服务网关接口)。 这是Python中的定义的一个网关协议,规定了Web Server如何跟应用程序进行交互。Web server可以理解为一个Web应用的容器…...

  • An楠 推荐

    02-2 | WSGI02(下)

    简单的WSGI application 理解了上面的代码之后,我们继续看看WSGI协议,也就是我们一开头介绍的。WSGI协议分为两部分,其中一部分是Web Server或者Gateway,就像上面的代码一样,监听在某个端口上,?#37038;?#22806;部的请求。另外一部分是Web Applica…...

  • An楠 推荐

    03 | Flask

    Flask框架 [https://github.com/pallets/flask][1] 上节我们讲了两种提供Web服务的方式,分别是一:直接通过socket?#21019;?#29702;http请求; 二:通过实现WSGI Application部分的协议。 基于这两种方式我们完全可以自己?#30784;?..

  • An楠 推荐

    04 | Tornado

    Tornado 框架 [https://github.com/tornadoweb/tornado][1] 印象 在工作中使用Tornado到现在也有5年了。相对于上一节的Flask,我对Tornado非常熟悉。但是如果要总结Tornado的特性的话,那也只是 高?#38405;?。…...

  • An楠 推荐

    05 | Django

    Django框架 [https://www.djangoproject.com/][1] the5fire使用Django的时间比Tornado还久,在我从Java开发转到Python开发时直接是从Java的SSH(Struts、Spring、Hibernate)框架逃离到…...

  • An楠 推荐

    第3章 小试牛刀

    Django小试牛刀 前面的课程中,我们经过了需求分析,经过了技术选型,选择了我们匹配我们需求的框架。 在这一章,用我们选出来的框架简单做一个系统出?#30784;?#22312;正式开发流程中,我们有可能会在选型的阶段来完成这部分内容。这是在我们对所有要用的框架都不熟悉的情况下。我们需要分别做一个…...

  • An楠 推荐

    01 | 如何阅读文档

    如何阅读Django文档 通过文字的方式来描述似乎不是件容易的事,我尽?#23458;?#36807;文字表达清楚。 文档结构 Django是基于MVC模式的框架,虽然也被称为“MTV”的模式,但是大同小异。对我们来说,需要了解的是无论是MVC模式还是MTV模式,甚至是其他的什么模式,都是为了解耦…...

  • An楠 推荐

    02 | Model及Admin

    学员管理系统 这一节让我们来快速的过一下Django的各个模块,在上一节内容中,你可能了解了Django所提供的功能,这一节我们来切实体会一下。你最?#20040;?#24320;你熟悉的IDE,一起写起?#30784;? 需求 一句话就能描述清楚的需求:提供一个学员管理系统,一个前台页面,展示现有学员,并供新…...

  • An楠 推荐

    03 | 前台开发

    学员管理系统- 前台 开发首页 有了上一节的Model和Admin的部分,我们接着来做一个简单的用户提交申请的表单页面。 首先在student/views.py文件中编写下面的代码: # -*- coding: utf-8 -*- from __future__ imp…...

  • An楠 推荐

    04 | 进阶-CBV和Middleware

    进阶部分 虽然是一个简单的Demo,但是有句老话叫:麻雀虽小五脏俱全,我们也得把常用的功能使用到。所以增加这一部分,包括:Class Base View, Middleware, TestCase这三个部分。 注意,如果你前面的例?#29992;?#26377;跑起来,可以先不看这一节,先把前面的代…...

  • An楠 推荐

    05 | TestCase及总结

    TestCase 单元测试是实际开发中,很重要,但是经常?#32531;?#35270;的部分。原因主要是编写对于Web功能的测试所耗费的时间会高于你开发此功能的时间。因此对于需要快速开发、上线的业务来说,这个项目中关于单页测试的部分很少。 单元测试的主要目的是为了让你的代码更健?#24120;?#23588;其是在进行重构…...

  • An楠 推荐

    第4章 进入开发

    进入开发 这一部分我们将为正式开发做一些准备。比如环境配置,编码规范,以及一个Django项目?#21335;?#30446;结构。有了这个基础之后,我?#24378;?#20197;把任务进行划分,不同的成员开发不同层的内容。 ...

  • An楠 推荐

    01 | 编码规范

    编码规范 这是一个老生常谈的问题,但是新手往往意识不到这个问题的重要程?#21462;?#27809;有进行过团队合作的人,往往编码没什么风格。因为他没遇到这样的问题。或者他可能有自己的风格,但是对于团队来说,编写的代码应该有一致的风格,否则整个代码看起来会十分凌乱,不同成员不同的编码方式、习惯,让阅…...

  • An楠 推荐

    01-1-1 | 代码规范之Python之禅

    相关讲义请查看: 01 | 编码规范 ...

  • An楠 推荐

    01-2 | 编码规范

    相关讲义请查看: 01 | 编码规范 ...

  • An楠 推荐

    01-1-2 | 代码规范之PEP8

    相关讲义请查看: 01 | 编码规范 ...

  • An楠 推荐

    02 | 虚拟环境

    虚拟环境 干净,整洁,无副作用?#21335;?#30446;本地和线?#31995;?#36816;行环境 几种方式: virtualenv project-env 项目目?#25216;?#34394;拟环境 python3.6 -m venv project-env 项目目?#25216;?#34394;拟环境 mkvirtualenv project-env 可以…...

  • An楠 推荐

    03 | 项目结构

    项目结构 原则 根据使用频率以及需要依赖的文件合理的规划项目文件结构,提高开发效率。 结构 project conf fabfile src requirements.txt setup.py others .gitignore 参考 [https://gi…...

  • An楠 推荐

    04-1 | Git版本控制基础

    Git版本控制 版本控制并不是仅限于源码管理这一领域,因为它的本质就是文件管理,因?#22235;?#21487;以通过版块控制,来管理一切基于文件的变更。 在版本管理领域,有很多工具可以使用,拿我自己用来的来说,早期都是在使用svn来做源码管理,到了2011年之后,git盛行,就开始转向使用git…...

  • An楠 推荐

    04-2 | Git版本控制进阶

    git进阶 常用的配置及alias 可以通过git config -l 查看所有的配置,push default是默认配置了 修改已提交的commit gitblame审查代码 远端和本地 git merge/pull request 提交代码 无中间服务器如何提交pull…...

  • An楠 推荐

    04-2-1 | 常用的配置及alias

    相关讲义请查看: 04-2 | Git版本控制进阶 ...

  • An楠 推荐

    04-2-2 | 代码的修改和审查

    相关讲义请查看: 04-2 | Git版本控制进阶 ...

  • An楠 推荐

    04-2-3 | 如何参与协作?

    相关讲义请查看: 04-2 | Git版本控制进阶 ...

  • An楠 推荐

    第5章 奠定项目基石-Model

    概述 这一章我们先?#21019;?#24314;一个github?#31995;南?#30446;:typeidea,这是我们整个项目的名称,一个多人的博客系统。 在这一章我们会根据需求完成整个Model层的创建,理解Django中Model部分的知识点。 先实践,后总结。 ...

  • An楠 推荐

    01 | 创建项目结构

    创建项目及配置 我们先来回顾下之前分析的需求,那份最终整理完的需求文档,现在看了放的有点久了。不过中间经过的这些都是为接下来做铺垫,实际开发中不会有中间这么多的环节,因为这些都是预备知识,你不懂这些,应该是进不了正式的开发团队的。 好了,废话不多说,先?#21019;?#24314;项目typeid…...

  • An楠 推荐

    02 | 编写Model层代码

    按照上节课的结构整理完项目之后,我们?#21019;?#24314;Model层代码,不过在此之前,我们先来看下之前整理的Model需要的模型和字段: 文章: - id - 标题 - 作者 - 分类(多对一) - 标签(多对多) - 摘要 - 正文 - 状态 - 发布时间 分类: - id … ...

  • An楠 推荐

    02-1 | 创建blog模块

    按照上节课的结构整理完项目之后,我们?#21019;?#24314;Model层代码,不过在此之前,我们先来看下之前整理的Model需要的模型和字段: 文章: - id - 标题 - 作者 - 分类(多对一) - 标签(多对多) - 摘要 - 正文 - 状态 - 发布时间 分类: - id … ...

  • An楠 推荐

    02-2 | 创建config模块

    按照上节课的结构整理完项目之后,我们?#21019;?#24314;Model层代码,不过在此之前,我们先来看下之前整理的Model需要的模型和字段: 文章: - id - 标题 - 作者 - 分类(多对一) - 标签(多对多) - 摘要 - 正文 - 状态 - 发布时间 分类: - id … ...

  • An楠 推荐

    02-3 | 创建comment模块

    按照上节课的结构整理完项目之后,我们?#21019;?#24314;Model层代码,不过在此之前,我们先来看下之前整理的Model需要的模型和字段: 文章: - id - 标题 - 作者 - 分类(多对一) - 标签(多对多) - 摘要 - 正文 - 状态 - 发布时间 分类: - id … ...

  • An楠 推荐

    02-4 | 创建Model 的回顾我总结

    按照上节课的结构整理完项目之后,我们?#21019;?#24314;Model层代码,不过在此之前,我们先来看下之前整理的Model需要的模型和字段: 文章: - id - 标题 - 作者 - 分类(多对一) - 标签(多对多) - 摘要 - 正文 - 状态 - 发布时间 分类: - id … ...

  • An楠 推荐

    04 | Model层- QuerySet 总结

    Model层- QuerySet 总结 在Django的Model中,QuerySet是一个重要的概念,必须要了解的!我们在创建完Model以及建好数据库表之后,接下来需要做的就是创建Admin界面,还有开发前台页面。 上一节我们对Model中的字段做了详细的了解,也对OR…...

  • An楠 推荐

    03 | Model层Fields总结

    Model-Field总结 在写完这些Model以及对应的字段之后,你可能会疑惑这些不同的字段分别是意思,以及为什么需要怎么?#30784;? 在进行详细的字段介绍之前,先来梳理这样的概念。Django的Model层给我提供了一套ORM(对象关系?#25104;洌∣bject Relational …...

  • An楠 推荐

    04-3-1 | 链式调用的接口

    本章课程讲义: Model层- QuerySet 总结 ...

  • An楠 推荐

    04-3-2 | 非链式调用的接口

    本章课程讲义: Model层- QuerySet 总结 ...

  • An楠 推荐

    04-1-1 | 理解加载和链式调用

    本章课程讲义: Model层- QuerySet 总结 ...

  • An楠 推荐

    04-1-2 | 常用的Queryset接口

    本章课程讲义: Model层- QuerySet 总结 ...

  • An楠 推荐

    04-2 | Queryset使用之番外篇-刨源码

    本章课程讲义: Model层- QuerySet 总结 ...

  • An楠 推荐

    04-4-2 | lookup语句

    本章课程讲义: Model层- QuerySet 总结 ...

  • An楠 推荐

    04-4-1 Queryset进阶接口

    本章课程讲义: Model层- QuerySet 总结 ...

  • An楠 推荐

    04-4-3 | 补充values和value_list

    本章课程讲义: Model层- QuerySet 总结 ...

  • An楠 推荐

    04-5-1 | 常见Queryset?#38405;?#38382;题及优化

    本章课程讲义: Model层- QuerySet 总结 ...

  • An楠 推荐

    04-5-2 | 理解层的概念

    本章课程讲义: Model层- QuerySet 总结 ...

  • An楠 推荐

    第6章 开发管理后台

    开发管理后台 这一章我们主要使用Django自带的admin来完成管理后台的开发。 admin属于Django的?#31508;?#38159;了,对于内容管理系统来说,当你有了表,有了Model,就自动有了一套管理后台,还包括权限控制,这简直是不要太爽的操作。?#27604;?#36825;得益于Django的诞生环?#24120;?#20063;…...

  • An楠 推荐

    01 | 配置admin

    配置Admin页面 基于我们上节课编写完成的Model代码,我们来配置admin的页面。相对于重复编写Model中字段的枯燥,编写admin的代码会比较有趣,因为能直接看到对应的界面展示,也能直?#26377;?#25913;页面展示。 废话不多说,我们开始编写admin的代码。 blog 首先…...

  • An楠 1推荐

    直播| Python Web开发者的?#20973;?#20043;道

    Quora联合创始人Adam D"Angelo在Quora开发中选择Python时所说, 到目前为止,我们对这一选择感到非常满意...所有在过去一直使用其他语言的早期员工都乐意转换到Python,尤其是那些做PHP的人。 因为 python代码的优雅美观且易于…...

  • An楠 推荐

    02 | 定制site和admin list

    定制admin 上一节我们完成了基础的admin代码编写,已经得到了一个基本可用的内容管理系统,这一节我们来说下常用的定制行的操作。?#20040;?#23478;有一个初步的认识,后面在实?#20013;?#27714;时还会做更多的?#27493;狻? 框架为了达到更高的通用性,只会抽象出通用的逻辑。因此有些特性的东西需要我们自己来做…...

  • An楠 推荐

    03 | 刨源码弄清楚list_filter

    刨源码来看上节课的问题 实际项目开发中经常会遇到与期望?#29615;?#30340;结果,因此排查问题是必备技能,对于Python来说,看源码也是相对容易的,这一节我们来通过源码看下上节课的问题所在。 ...

  • An楠 推荐

    04 | 定制编辑页面和自定义字段

    编辑页面配置 save_on_top = True fields = ('title', 'category') fields = (('category', 'title'), 'content&#39…...

  • An楠 推荐

    05 | adminform和inlinemodel

    自定义form 还是只针对postadmin来增加form, 在blog目录下增加文件(模块)adminforms.py 这里要命名为adminforms而不是forms,只为了跟前台针对用户输入进行处理的form区分开?#30784;?#37324;面编写代码,定义form。关于form的作用,我们…...

  • 李冰_ 推荐

    胡阳:?#39038;?#38138;就代码之路,三分天注定,七分?#30475;?#25340;

    ![enter image description here][1] 胡阳前搜狐资深开发工程师,现任知乎资深开发工程师 2008年开始,他写博客11年了。 仅最近两年内,博客的访问量累计超过600万。 2017年,他发布了《Django企业开发实战》视频课,广受学员好评…...

  • An楠 推荐

    第2章 技术选型

    框架基础?#22270;?#26415;选型 上一章中我们对需求进行了评审和分析,最终得到了具体要开发的功能点,以及对模块进行了划分。现在我们需要做的是根据要开发的功能进行框架的选择。 针对不同的场景,选择不同的技术架构,所产生的开发成本和维护成本都不一样。特定场景下合?#23454;?#25216;术架构能够让开发人?#22791;?#24555;…...

  • An楠 推荐

    01 | 技术选型

    Python2.7 vs Python3.x 选择2和选择3是近?#25913;?#26469;比较流行的一个“话题”,?#27604;?#36825;个只是在网络某些论坛或者社区里。在真实的环境下没有这么多的纠结。选择目前应用最广泛的,周围人都在用,并且自?#21644;?#38431;能够hold住的,就是最合?#23454;?#36873;择。对于2和3的差异,其实写起代…...

  • An楠 推荐

    02-1 | WSGI02 (上)

    WSGI——Web框架基础 简介 WSGI,全称是Web Server Gateway Interface(Web服务网关接口)。 这是Python中的定义的一个网关协议,规定了Web Server如何跟应用程序进行交互。Web server可以理解为一个Web应用的容器…...

  • An楠 推荐

    02-2 | WSGI02(下)

    简单的WSGI application 理解了上面的代码之后,我们继续看看WSGI协议,也就是我们一开头介绍的。WSGI协议分为两部分,其中一部分是Web Server或者Gateway,就像上面的代码一样,监听在某个端口上,?#37038;?#22806;部的请求。另外一部分是Web Applica…...

  • An楠 推荐

    03 | Flask

    Flask框架 [https://github.com/pallets/flask][1] 上节我们讲了两种提供Web服务的方式,分别是一:直接通过socket?#21019;?#29702;http请求; 二:通过实现WSGI Application部分的协议。 基于这两种方式我们完全可以自己?#30784;?..

  • An楠 推荐

    04 | Tornado

    Tornado 框架 [https://github.com/tornadoweb/tornado][1] 印象 在工作中使用Tornado到现在也有5年了。相对于上一节的Flask,我对Tornado非常熟悉。但是如果要总结Tornado的特性的话,那也只是 高?#38405;?。…...

  • An楠 推荐

    05 | Django

    Django框架 [https://www.djangoproject.com/][1] the5fire使用Django的时间比Tornado还久,在我从Java开发转到Python开发时直接是从Java的SSH(Struts、Spring、Hibernate)框架逃离到…...

  • An楠 推荐

    00 | 作者介绍

    ?#19994;?#32463;验,或许对你有用 —胡阳(the5fire) ...

  • An楠 推荐

    00 | 课程介绍

    课程目标: 了解正式环境中的Django/Web开发 学习真实项目开发中涉及到的技能 理解Web系统的原理 能够使用Django独立开发项目 ...

  • An楠 推荐

    06 | 重写form和admin部分方法

    重写form的clean_status方法 def clean_status(self): if self.cleaned_data['status']: return 1 else: return 3 重写admin的save_model方法 def …...

  • An楠 推荐

    07 | 抽象admin基类

    抽象基础Admin类 这一节我们来整理下admin的所有代码,把演示的代码去掉,按照正式的逻辑来完成代码。 之前我们在每一个admin上都重写了save方法,来做author——也就是当前作者进行处理,这一节我们来做一下抽象,避免重复的代码到处出现。 抽象author基类…...

  • An楠 推荐

    第7章 开发面向用户的界面

    开发面向用户的界面 这一节我们开始编写面向用户的界面,只会涉及简单的html结构,不会做太多的美化,这一节的目的就是,能够把我们在后台创建的数据,展示到前台即可。 从技术上来讲,这一节将涉及到Django中的Function View和Class Based View的使用…...

  • An楠 推荐

    01 | 搭建基础结构

    第一节 搭建基础结构&展示文章数据 在开发对用户的界面是,我们首先要分析的是,需要有多少种url存在——即多少个页面。然后再来编写view的代码,这样可以更好的处理重复的逻辑。 其次我们要分析的是,页面上需要呈现哪些数据。不同的数据意味着可能用到不同的model或者…...

  • An楠 推荐

    02 | 展示文章数据

    编写正式的views代码 这里我们先只处理文章相关的数据,其他数据暂时不处理。 配置模板数据 总结 这一节我们通过编写function views代码,把数据从数据库中取出,放到模板中进行展示,下一节我们来补充通用的页面配置,比如分类,标签,最新文章,最热文章等 参考…...

  • An楠 推荐

    03-1 | 分页配置

    本小节主要以代码演示为主,学习视频即可。 ...

  • An楠 推荐

    03-2 | 侧边栏和分类数据的处理

    配置页面通用数据 上节课我?#21069;?#25991;章相关的数据做了简单处理,这一节我们来把通用的数据都拿出来塞到页面上。 分类信息 我们?#21069;?#20998;类作为一个?#24049;?#26469;展示给访客/读者的,在分类的设计上,我们也定义了is_nav的字段,作者可以?#33539;?#21738;些分类可以放到?#24049;?#19978;。 我们先编写获取分类的代码…...

  • An楠 推荐

    03-3 | 配置通用部分

    本小节以看视频为主。 ...

  • An楠 推荐

    04-1 | Function View-vs-class-based-view

    升级至Class Based View 上一节我们完成了数据的展示,虽然整个流程有一些粗糙,但是数据是没问题了。接下来需要做的就就是使用Class Based View进行重构。 之前?#27493;?#21040;过,function view和class based view并没有技术?#31995;?#39640;低之…...

  • An楠 推荐

    04-2 升级为Class-based-vew

    理解Class Based View 我们想从文档上来看下Django提供了多少种Class Based View,然后我们尝试来总结下需要这种CBV的场景,以及相对于functin view的优缺点。 View TemplateView DetailView ListV…...

  • An楠 推荐

    05 | 总结view处理request流程

    总结一个request到来之后两种view的处理流程 当django?#37038;?#21040;一个request请求之后, 请求会先经过middleware的process request,然后会解析url,拿到对应的view(在urls.py中配置好的),调用view。middleware的流…...

  • An楠 推荐

    第8章 引入前端框架

    引入前端样式框架(Bootstrap) 这一章我们开始引入前端框架,来美化我们的界面。前面章节中我们通过编写后端代码?#21019;?#29702;数据,数据之于网站,就相当于灵魂之于人类。而网站的前端就相当于人的形体、外貌。其中HTML是骨架,而css是皮肤,js就是肢体动作,可以用来展示数据,可以…...

  • An楠 推荐

    01 | Bootstrap使用入门

    Bootstrap做一个简单的页面布局 在正式去?#21335;?#30446;代码之前,我们先做一个静态页面,根据我们之前的设计。这也是正式开发中常见的流程——有前端组/部门来做静态页面,后端来套页面。 介绍 我们先来了解下Bootstrap是什?#30784;ootstrap发展到现在,已经不能够用css…...

  • An楠 推荐

    02-1 | 美化系统页面

    美化页面 尽管使用bootstrap,我?#24378;?#20197;很快的做出来一个页面。但是我们需要意识到的一点是,css、html和bootstrap的关系,就像是Python和Django的关系一样。 简单使用Bootstrap和Django,都没有问题。如果想要深入,那前提是必须要掌握好…...

  • An楠 推荐

    02-2 | 美化系统界面

    本小节以视频课为主要学习内容,无参考资料。 ...

  • An楠 推荐

    02-3 | 美化系统界面

    本小节以视频课为主要学习内容,无参考资料。 ...

  • An楠 推荐

    03 | 处理静态?#35797;?/a>

    配置静态?#35797;? 在前面的章节我们,我们?#21069;裞ss直接放到html文件中编写,css的依赖直接使用的是网?#31995;腸dn?#35797;础?#36825;节课我们需要把css拆分出来,成为单独的css文件,通过link标签加载。 拆分的原因 一般情况下来说,css样式直?#26377;?#21040;html中没什么问题,样式展示上…...

  • An楠 推荐

    第9章 完善整个博客系统

    完成博客系统 上一章中我们完成了页面样式的配置,让我们之前简陋的页面变得漂亮了些。我们也通过修改默?#31995;腄jango的模板也静态?#35797;?#37197;置,让我们的博客系统可以支持多套模板。 从界面上看,到目前为止我们有了以下页面: 首页 分类列表页 标签列表页 文章正文页 这离我们的…...

  • An楠 推荐

    01-1 | 增加搜索

    本小节以视频课为主要学习内容,无参考资料。 ...

  • An楠 推荐

    01-2 | 增加作者文章列表

    本小节以视频课为主要学习内容,无参考资料。 ...

  • An楠 推荐

    02 | 增加友链页面

    本小节以视频课为主要学习内容,无参考资料。 ...

  • An楠 推荐

    03-1 | 增加评论功能

    增加评论模块 评论提交的方式 js异步提交数据 当页提交 单独页面提交 优缺点 修改模型 post --> target 兼容多种页面 migrations的作用和意义 抽象出评论模块组件和mixin 作业 通过自定义tag实现评论模块的组件化 参…...

  • An楠 推荐

    03-2 | 增加评论功能(续)

    增加评论模块 评论提交的方式 js异步提交数据 当页提交 单独页面提交 优缺点 修改模型 post --> target 兼容多种页面 migrations的作用和意义 抽象出评论模块组件和mixin 作业 通过自定义tag实现评论模块的组件化 参…...

  • An楠 推荐

    03-3 | 抽取评论模板

    本小节以视频课为主要学习内容,无参考资料。 ...

  • An楠 推荐

    04-1 | 使用Markdown写博客

    配置markdown编写文章的支持 评论结果处理 增加是否使用markdown的选项 非markdown情况处理换行符 markdown使用配置 参考: [https://github.com/google/code-prettify/blob/master/doc…...

  • An楠 推荐

    04-2 | 优化Markdown代码高亮

    配置markdown编写文章的支持 评论结果处理 增加是否使用markdown的选项 非markdown情况处理换行符 markdown使用配置 参考: [https://github.com/google/code-prettify/blob/master/doc…...

  • An楠 推荐

    05-1 | 增加访问统计

    增加访问统计 统计的几种方式: 基于当次访问实时处理 基于当次访问延迟处理 - celery js 放到页面来统计或者img标签 分析nginx日志 增加文章访问统计 uv 判?#31995;?#20960;种方式: redis/共享内存的方式?#21495;?#26029;用户是否在多长时间内访问过 浏览器端记…...

  • An楠 推荐

    04-3 | 补充内容:ace.js库的使用

    本小节以视频课为主要学习内容,无参考资料。 ...

  • An楠 推荐

    05-2 | 引入cache

    本小节以视频课为主要学习内容,无参考资料。 ...

  • An楠 推荐

    第10章 使用第三方插件增强管理后台

    使用xadmin增强管理后台 admin其实一直是Django的?#31508;?#38159;,试想一下,你需要做一个内容管理系统,还需要带基础的权限控制,你用一个微型框架,可能需要花你一?#25945;?#30340;时间,并?#20381;?#23637;性和可维护性基本上不会考虑。而Django在你建立好Model之后,提供了开箱?#20174;?#30340;admi…...

  • An楠 推荐

    01 | xadmin介绍

    xadmin 介绍 xadmin是国人创建的一个开源项目,作者差?#24120;╤ttps://github.com/sshwsfc )。这个框架(django 插件)的口号是:Drop-in replacement of Django admin comes with lots of …...

  • An楠 推荐

    02-1 | 替换admin到xadmin

    替换admin为xadmin 从github安装: pip install git+https://github.com/sshwsfc/xadmin。 admin --> adminx 两个接口 get_queryset(self, request) --&g…...

  • An楠 推荐

    02-2 | 替换admin到xadmin(续)

    本小节以视频课为主要学习内容,无参考资料。 ...

  • An楠 推荐

    03 | 配置autocomplete-light

    使用autocomplete优化?#38405;? 之前也到过这一点,无论是django自带的admin还是xadmin,对于外键或者多对多字段的处理都比较?#30452;?#30452;接会加载到页面上,生成一个select标签,当关联数据过大时会有很大的问题。 试想一下,当你的外键或者多对多字段有几万条数据…...

  • An楠 推荐

    04-1 | 配置ckeditor

    引入django-ckeditor 对于内容型后台来说,输入内容是最高频的操作,因此需要能有一个更好的编辑器来替代我们之前简陋的Textarea。这类编辑器被称为富文本编辑器,或者?#27493;?#25152;见即所得编辑器。 同类的插件还有百度出品的ueditor,也有对应的django封装:d…...

  • An楠 推荐

    04-2-1 | 上传图片的原理和配置

    上传图片配置 首先还是需要配置INSTALLED_APPS: 'ckeditor_uploader', 然后需要配置之前我们改过的content的widget为from ckeditor_uploader.widgets import CKEditorU…...

  • An楠 推荐

    05 | 勘误和总结

    本小节以视频课为主要学习内容,无参考资料。 ...

  • An楠 推荐

    04-2-2 | 自定义存储及水印

    自定义存储以及水印 上面的逻辑中没有介绍存储部分的逻辑,Django提供的默?#31995;?#23384;储方式是文件存储。但是我?#24378;?#20197;根据需求进行定制,要定制自己的Storage也很简单,只需要?#22363;衐jango.core.files.storage.Storage,然后实现几个接口即可。主要的接口…...

  • An楠 推荐

    第11章 django-rest-framework使用

    Django-REST-Framework fix include的问题,django是支持include的 ckeditor url修改为: url(r'^ckeditor/', include('ckeditor_uploader.urls&#…...

  • An楠 推荐

    01 | restframework介绍和使用

    rest framework 相对于前面说到的xadmin插件,djangorestframework已经十分成熟稳定,可以放心的推荐到生产环境中,但是还是前面内容中提到过的一个问题,通用的东西势必会带来?#38405;?#25439;?#27169;?#25152;以能不能上上产环境需要?#26412;?#32773;(项目负责人)仔细权衡才行。 …...

  • An楠 推荐

    02 | 完成restful接口

    接口需求 首先还是需要说下我们的需求,我们需要配置一套restful接口,输出所有的文章,功能跟web系统提供的类似,包含: 最新文章列表 分类列表 根据分类获取文章 标签列表 根据标签获取文章 都是只读的功能。这样的需求在实?#23454;南?#30446;开发中很常见。当你开发了一套web…...

  • An楠 推荐

    03 | 配置detail接口中的分页和总结

    完成所有的api配置 区分list和detail 方法内部指定serializer_class def retrieve(self, request, *args, **kwargs): self.serializer_class = PostDetailSerializ…...

  • An楠 推荐

    第12章 优惠与调试

    调试和优化 调试和优化是无处不在的,并不是说一定是在某个阶段才需要做。有句话叫做:代码不是写出来的,而是调试出来的。这句话很有道理。 首先来说调试和优化的目的。调试是为了实?#20013;?#27714;,或者为了优化程序执行时间而进行的不?#31995;某?#35797;,而优化的目的除了减少程序执行时间外,还有一点很重要…...

  • An楠 推荐

    01 | 调试手段:print /logger/pdb 大法

    常用的调试和调优手段 我们在前面章节中的代码编程过程中,其实也不?#31995;?#22312;调试和优化代码,无论是优化queryset还是进行函数或者类的抽象。 一般情况下我们有这么集中调试的方法。 调试手段 print大法 这个是最简单,最直观的方法,新手上来就会用。通过print?#21019;?#21360;…...

  • An楠 推荐

    02 | 常用的调优手段

    调优手段 上面是调试的方法,这里介绍调优的方法。 纯手工的timer 跟上面的print一样,这也是最为直白的探测程序执行时间的方法,再要执行函数的前后增加 start = time.time() 和print(time.time() - start)就可以获得到程序的?#30784;?..

  • An楠 推荐

    03 | debug-toolbar和silk的使用

    使用django-debug-toolbar优化 安装 pip install django-debug-toolbar 配置develop环境 INSTALLED_APPS += [ 'debug_toolbar', ] MIDDLEWARE +=…...

  • An楠 推荐

    第13章 配置Mysql & Cache

    配置MySQL和Cache 这一章我们来准备正式环境的配置,配置mysql和cache ...

  • An楠 推荐

    01 | 配置MySQL

    配置Mysql 这一节我?#24378;?#20197;见证框架的?#20040;Γ?#25110;者说ORM框架的?#20040;Α?#25105;们在做软件开发中,分层是十分常见的设计方案。分层的目的就是为了解耦,让两个本来完全相关的东西,通过中间加那么一层,从而隔离开。这样的?#20040;?#23601;是相互变化后不会相互影响。 比如这里我?#21069;裺qlite换成mys…...

  • An楠 推荐

    02-1 | Cache介绍

    Cache 首先我们得了解下什么是cache, 为什么要使用cache,然后再去了解django中的cache的问题 什么是cache cache = {} def query(sql): return cursor.exe_command(sql) 作业 **写一…...

  • An楠 推荐

    02-2 | 配置Cache

    django中的cache配置 在django中可以配置多种cache源,就像是上节配置数据库一样。 redis,文件,mysql,内存都可以。 应用场景和缓存的粒度 不同的场景使用不同的缓存,配置不同的粒?#21462;?#21315;万不要以为缓存一定能够优化你的访问,一定要先知道项目的业务…...

  • An楠 推荐

    第14章 上线前的准备

    上线前的准备 在上一章节中我们已经开始为上线做准备了,?#30475;?#19978;线我们都需要准备一个清单,需要规划下部署结构,以及监控方案。 项目部署方案 首先我们需要搞明白的一件事就是,我们平时编写的代码是怎么着最终能为互联网用户提供服务的。这个过程其实就是软件的部署。 ...

  • An楠 推荐

    01 | 如何部署你?#21335;?#30446;

    你的代码如何为提供提供服务 也就是如何部署你的代码到线上,有几种方式,首先理解基础逻辑,打包,分发。 tar包 scp,最不济用QQ传(low...) gitlab --》 git pulll pypi docker 分发源 目标服务器 http代理 部署结构 ...

  • An楠 推荐

    02-1 打包

    部署准备 上一节我们介绍了软件(或者我们称作源代码)分发的流程。这一节我们使用官方的pypi的方式进行打包,首先我们需要先配置下setup.py文件,这个是打包的分发的前提。 配置项目的setup.py coding:utf-8 from setuptools impor…...

  • An楠 推荐

    02-2 | pypi server

    配置pypi server 直接安装即可: pip install pypi-server 启动: pypi-server -p 8080 -P /opt/mypypi/.htaccess /opt/mypypi/packages .htaccess: yum …...

  • An楠 推荐

    02-3 | 自动化部署

    编写自动部署脚本 fabric是个利器 首先,我们需要明确部署的逻辑是什么,然后才能用fabric自动处理。 创建虚拟环境 激活虚拟环境 安装项目包 上传supervisord.conf 启动supervisord ansible && salt …...

  • An楠 推荐

    02-4 | 完善fabfile

    本小节以视频课为主要学习内容,无参考资料。 ...

  • An楠 推荐

    03 | 监控准备

    监控准备 什么,线上?#20234;四?#31455;然不知道?! sentry 日志 --> ELK --> Elasticsearch, Logstash, Kibana nginx日志分析 status code, 访问量,后端耗时 部署sentry sentry是用来及…...

  • An楠 推荐

    04 | 你?#21335;?#32479;能抗多少量

    来,试试你?#21335;?#32479;能抗多少量 在介绍工具之前我们先要了解下?#20849;?#30340;目的,在介绍?#20849;?#30340;目的之前我们先来考虑一个问题。那就是你的网站或者你的接口需要承受多大压力,或者说一天能承载多少用户的访问。 我?#24378;?#20197;先从用户端计算一下,如果一个网站,每天有10万个活跃用户,每个用户?#30475;?#20250;访问平…...

  • An楠 推荐

    第15章 升级到Python3

    迁移到Python3 [https://pythonclock.org/][1] 这是一个生态问题,我们私底下可以研究和使用最新的技术,但是生产环境上一定要稳定。 就像?#20197;?#30693;乎?#31995;?#22238;答(?#38431;?#21435;评论)如何?#21019;?Instagram 将所有Web 后端迁移到 Python 3.…...

  • An楠 推荐

    01 | Python2-vs-Python3

    Python2 vs Python3 总结几个主要的差别: 第三方库,有些库依然没有支?#20540;絇ython3,比如说Supervisord 参考: Python3 wall这是决定是否迁移的一个很大的因素 内部库的变化: [Python3新特性][1] 基础编码的变化:…...

  • An楠 推荐

    02 | 开始迁移

    迁移到Python3 https://docs.python.org/3/howto/pyporting.html ...

  • An楠 推荐

    第16章 升级到Django2.0

    Django2.0 - Python2时代的逝去 ...

  • An楠 推荐

    01 | 升级到Django2.0

    升级到Django2.0 - 多么轻松 相对于Django1.11,Django2.0的上层接口变化并没那?#21019;螅?#20381;然是Django一贯的各一个版本淘汰一些接口。 因为上节课我们已经升级到Python3了,因此对于升级Django2.0来说,只需要做些许改动即可。 Djan…...

  • An楠 推荐

    02 | 升级到Django2.0(续)

    升级到Django2.0 - 多么轻松 相对于Django1.11,Django2.0的上层接口变化并没那?#21019;螅?#20381;然是Django一贯的各一个版本淘汰一些接口。 因为上节课我们已经升级到Python3了,因此对于升级Django2.0来说,只需要做些许改动即可。 Djan…...

  • An楠 推荐

    第17章 最后总结

    我们通过一个脑图来梳理下我们这套课程下来一共涉及到哪些内容 ...

  • An楠 推荐

    01 | 最后但不是结束

    最后但并未结束 虽然是最后一节课,但这并不意味着这套课程结束了。课程的时间有限,不能把所有的问题都讲到,正所谓:一千个业务类型就有一千种Django的用法,以及周边库的使用。 所以作为本次课程的购买者,你可以根据你的实际使用场景提出想要更多了解哪方面内容。?#19968;?#26681;据大家反馈,…...

  • An楠 推荐

    02 | 后续内容

    TODO:后续内容 根据读者反馈更新视?#30340;?#23481; 部署到vps上 优化系统结构,代码 增加评论验证码 ckeditor增加代码支持 增加一套主题 去掉autocomplete light 在课程下留言,根据留言多少可以规划后面的内容 最后致谢! ?#38431;?#35780;价 &&a…...

  • 可以像国外的出版社一样,先出一个预览版嘛,让早期读者可以早点看到书,同时?#37096;?#20197;根据反馈对书进行调整
    huangke  发表于 2018-11-20 10:20:54
    推荐
  • 请问这个有电子版吗
    Jenson、  发表于 2019-01-21 14:46:18
    推荐
  • 电子版 能早点出就早点出,我要买~~~话?#30340;?#20204;图灵出版个东西也太慢了~
    林疯  发表于 2018-07-02 21:53:48
    推荐
  • 我想知道是django什么版本的,是django2吗?
    zerosail  发表于 2018-09-10 16:22:27
    推荐
    • 您好!本书基于Django 1.11,但是第15章介绍了如何升级到Django 2.0。

      王军花  发表于 2019-01-17 09:22:03
  • 挺慢的
    William葵花  发表于 2018-12-07 13:16:21
    推荐
  • 希望能出电子版
    nonono  发表于 2019-01-14 15:31:30
    推荐
    • 不太可能有电子版,有“图灵原?#30784;?#26631;签的书大多数是不会出电子版的,搜索这个标签的书有电子版的寥寥无?#31119;?#35201;么是纸书卖了好?#25913;?#21518;才出的,要么是不太受?#38431;?#30340;书。

      readisgood  发表于 2019-01-14 20:28:16
    • @readisgood 怕盗版?

      威灵顿  发表于 2019-01-15 18:21:04
    • @readisgood 实际上,我觉得具体应用类的书籍,都应该电子化比较好,因为发?#36141;?#24555;,实在太容易过时了。我书架上争取只留下经典的常青树作品。

      威灵顿  发表于 2019-01-15 18:22:38
    • @威灵顿 同意。纸质书太占地方了。。

      nonono  发表于 2019-01-16 09:57:22
  • 什么版本的django?
    xigaohu  发表于 2019-01-14 18:03:08
    推荐
    • 您好!本书基于Django 1.11,但是第15章介绍了如何升级到Django 2.0。

      王军花  发表于 2019-01-17 09:21:40
    • @王军花 这本书会不会有电子版?

      猥琐皮特  发表于 2019-04-13 17:15:18
  • 真无?#20255;?>
                            </a>
                        </div>
                        <div class=
    有电子版吗?年前能买吗?
    推荐
  • 是不是要过年后啊,
    limyel  发表于 2019-01-19 00:35:02
    推荐
  • 随书下载的代码只有整体建构好后的代码,没有每章的代码啊……
    斑?#26085;?#22312;你身旁  发表于 2019-03-17 14:30:16
    推荐
    • 这本书不是基于windows平台开发的,里面的开发步骤基本不能再2019年使用。真辣鸡,还是19年2月出版的……

      斑?#26085;?#22312;你身旁  发表于 2019-03-17 15:45:30
    • @斑?#26085;?#22312;你身旁

      git可以看到代码的提交日志
      你们公司python开发用Windows?你怕不是在逗我...

      prince5460  发表于 2019-03-27 10:04:48
    • @斑?#26085;?#22312;你身旁 Windows 一样开发 Django 啊,,除了一部分要做一些细微的修改。。

      Manjusaka  发表于 2019-04-19 18:40:13
    • @斑?#26085;?#22312;你身旁 每章代码在分支里面,还有开发步骤怎么就不能在2019年使用了?#20811;?#36136;堪忧

      huangke  发表于 2019-04-20 19:11:02
    • @huangke 用分支也不是不行,关键是被作者整的不同分支不在一条线,太乱了。

      laggard  发表于 2019-07-29 12:46:30
  • 本书最终产出的代码,建议从 Github 上下载:https://github.com/the5fire/typeidea
    部分代码在本书草稿的仓库中,可以查看:https://github.com/the5fire/django-practice-book
    huyang  发表于 2019-05-08 21:22:51
    推荐
  • 图灵要?#21335;?#32463;营思路了,纸质书?#27490;笥致?#36825;书已经过时了。电子书是主流,都是凭账号买的,不用怕盗版。
    学学  发表于 2019-05-31 19:21:59
    推荐
  • 六一节,纸质书没活动,营销方案不科学。
    学学  发表于 2019-05-31 19:55:23
    推荐
巴西足球 福彩快三中奖技巧 幸运飞艇视频直播2019 广东南粤36选7 江苏时时结果 刘伯温一肖中特 大发快三走势图分析 浙江十一选五开奖直播 极速时时程序 湖南快乐十分开奖详情 天津20选八开奖结果