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错误,以及处理表单等。
    • 灵活、简洁和强大,解决特定问题的同时,无需担心乏味的重复劳动,或所谓的"胶水代码"。
3.5总结