m.l

Results 23 issues of m.l

如果你为了可扩展性和鲁棒性而构建一个分布式的系统。 If you are building a distributed system for scalability and robustness, robustness,当“健壮性”来讲吧。

## 第二章 应用模式 本章,我们将学习以下内容: - 获取请求 - 创建一个概念文档 - 如何将一个项目分为多个app - 是重新写一个新的app还是使用已有的 - 开始一个项目之前的最佳实践 - 为什是Python3? - 启动SuperBook项目 很多的开发新手从按正确方式写代码开始,着手一个新的项目。更多的是经常被带到错误的设想中,未被使用的特性,并且浪费掉很多时间。花些时间在你的客户端上,来理解一个项目中的核心请求事件,即使很短的时间也能产生惊人的效果。管理请求是一个值得学习的关键知识点。 ## 如何获取请求 `创新不关乎肯定一切,而是关乎对所有重要的特性说不 ---Steve Jobs` 我通过与客户耗去数天来仔细地的倾听他们的需求,以及合理的期望值,拯救了好几个注定失败的项目。除了纸(或者他们的数字设备)和一支笔之外什么也没用,处理过程惊人的简单但是却很有效。这里有一些获取请求的关键地方: ``` 1. 直接和应用的所有者沟通即使他们没有技术背景。 2. 确保你完整的倾听他们的需求并提醒他们。...

第七章-表单 --- 这一章我们会讨论一下话题: ``` • 表单的工作流程 • 不可信的输入 • 表单处理类视图 • 表单与CRUD视图 ``` 我们把Django表单放到一边,来讨论下常规情况下的表单是个什么样子。表单不仅长,而且有着多个需要填充的无趣的页面。可以说表单无所不在。我们每天都用到它。表单支撑了谷歌搜索框到脸书的点赞按钮这所有的一切。 Django把使用表单时产生的验证和描述这类的大量繁重工作给抽象了。它也实现了多种的安全问题的最佳实践。可是,表单在处理自身多个状态之一时也是令人困惑的起因。 ## 表单的工作原理 表单理解起来比较困难,因为它同不止一个请求-响应循环交互。最简单的场景是,你需要展示一个空表单,然后用户来正确地填充和提交表单。另外一种情况是它们输入一些无效的数据,表单需要重复的提交知道整个表单有效为止。 因此,表单表现出多种状态: ``` • **空表单:**在Django中此表单称为未绑定表单 • **已填充表单:**Django中该表单称为已绑定表单 • **有错误的已提交表单:**该表单称做已绑定表单,但不是有效表单 • **没有错误的已提交表单:**该表单称做已绑定且有效的表单 ``` 注意用户永远不会见到表单的最后状态。他们不必如此。提交的有效表单应当把用户带到表单提交成功之后的页面。...

第四章-视图和URL --- 本章,我们会讨论以下话题: ``` * 基于类的和基于函数的视图 * Mixins * 装饰器 * 常见视图模式 * 设计URL ``` ## 顶层的视图 Django中,视图是可以调用的,它接受请求,返回响应。通常它是一个函数或者一个有`as_view()`这样的特殊方法的类。 这两种情况下,我们创建一个普通的接受`HTTPRequest`作为自己的第一个参数并返回一个`HTTPResponse`的Python函数。`URLConf`也可以对这个函数传递额外的参数。这些参数由URL部分捕捉到,或者是设置了默认值。 这里是简单视图的例子: ``` python # In views.py from django.http import HttpResponse def...

第五章 模板 --- 本章,我们会讨论以下议题: ``` 1. Django模板语法的特性 2. 组织模板 3. Bootstrap 4. 模板继承树模式 5. 活动连接模式 ``` ## 理解Django的模板语法特性 It is time to talk about the third musketeer in the MTV...

第九章 测试与调试 --- 本章,我们将讨论以下话题: ``` • Test-driven development • Dos and don'ts of writing tests • Mocking • Debugging • Logging ``` Every programmer must have, at least, considered skipping...

第八章-处理旧版本代码 --- In this chapter, we will discuss the following topics: ``` • Reading a Django code base • Discovering relevant documentation • Incremental changes versus full rewrites • Writing...

第六章-Admin接口 --- In this chapter, we will discuss the following topics: ``` • Customizing admin • Enhancing models for the admin • Admin best practices • Feature flags ``` Django's...

# 第一章 Django与模式 在这一章,我们讨论以下话题: ``` 我们为什么选择Django? Django是工作原理 什么是模式? 常见的模式合集 Django中的模式 ``` ## 我们为什么选择Django? 每个web应用都不尽相同,就像一件手工制作的家具一样。你几乎会很少发现大批量的生成能够完美地达到你的需求。即使你从一个基本需求开始,比如一个博客或者一个社交网络,你都需要缓慢地开发, 这就是类似Django或者Rails的web框架非常流行的原因。框架加速了开发,而且它带有很多练好的经过实践的内容。 Python可能比其他流行的编程语言具有更多的web框架。 开箱即用的admin接口,它是Django才有的独一无二的特点,早些时候,特别是在数据记录和测试方面它大有裨益。而Django的开发文档作为一个出色的开源项目早已是备受赞誉。 最后,Django在多个高流量的网站中历经实战的考验。它对于常见的攻击比如跨站脚本和跨站请求攻击有着异常敏锐观察。 尽管,在理论上,可能对于所有类型的网站Django不是最佳选择,你可以是使用Django构建任何类型的网站。例如,要构建一个基于web聊天的实时接口,或许你要使用Tornado,但是web引用剩下的部分你可以仍旧使用Django来完成。对于开发你要学会选择正确的工具。 某些内建的特性,比如admin接口,如果你使用过其他的web框架或许让你听上去感觉有点怪怪的。为了Django的设计,就让我们找出它是如何问世的。 Django的历史 When you look at the Pyramids of Egypt, you...