Python Web Development With Django Ch3
第3章起始
3.1动态网站基础
3.2理解模型、视图和模板
3.3Django架构总览
MVC -> MTV
- Model ORM
- Template
- View Function
3.4Django的核心理念
- Dango希望尽量Pythonic一点
- 精悍的语法(比如默认的for循环或是更简洁的列表推导式)
- 对每种简单的任务,只有一种正确的做法(而这里所指的"做法"通常都已经被结合到语言里了,比如宇典的get方怯)
- 以及明确自己的目的而不要依赖默认行为(例如所有对象方怯都要求的self参数)
- 不要重复自己(DRY)
- 如果你要修改在多个地方重复出现的信息,你就平白无故给自己制造了两倍(甚至更多)的工作量。
- 如:为Person Model类创建一个sum_accounts方法,在多个页面使用
- 松耦合与灵活性
- 动态Web应用所需的一切必要组件:数据库访问、请求框架,应用程序逻辑,模板系统等。
- 同时,它也努力保持开放:你可以按需要选择或多或少的Django组件并随时替换为你认为适合的其他工具。
- 快速开发
- 多快捷方式。这里最明显的就是通用视图,它由差不多一打常见的任务组成。只需三个Python文件(站点相关的设置,一个模型声明和一份链接URL到通用视图的映射)以及一些HTML模板,就可以在几分钟到几个小时里完成一个网站了。
- 视图层上的快捷的方法。这样的快捷方式用数据宇典渲染模板,获取数据库对象,当数据不存在时返回HTTP错误,以及处理表单等。
- 灵活、简洁和强大,解决特定问题的同时,无需担心乏味的重复劳动,或所谓的"胶水代码"。