[转]学习web框架

学习web框架

本文转载过多,已经找不到原文出处,所有能找到的原文地址都无法访问,入侵必删

按照这个清单,一条一条的学习,事半功倍,很快就能掌握 一共25条,即便很磨蹭,2小时也能搞定一条,25*2=50。只需要50小时就能掌握任意一种web框架

各类web框架大同小异:现代web开发框架的6大元素,把握主线,就不会迷路

建议把本文打印到一张A4纸,搞定一条打个勾

web框架学习列表

  • 如何定义 url route
  • 如何组织 request handler 函数
    1. 写一个最简单的request handler 函数
    2. 如何从get/post请求中取出参数
    3. 如何定义全局url 拦截函数
    4. 如何获取/修改/存储 cookie,session数据
    5. 如何修改/输出 http header 数据
  • 如何部部署app 程序
    1. 服务器部署可以参考 python web 程序的9种部署方式
    2. 如何配置开发环境
    3. 如何配置静态文件访问
  • 如何访问数据库
    1. 如何维护表结构的变更
    2. 如何定义/组织/初始化 数据表
    3. 如何对接orm系统和现有的表结构
    4. 掌握最基本的add/delete/按字段查询/count/slice/order by
    5. 如何直接使用sql 访问数据库
  • 如何使用模板系统
    1. 如何组织/访问 模板文件的目录结构
    2. 如何在模板中嵌入代码
    3. 模板是否支持继承结构
    4. 模板之间如何include
    5. 如何自定义模板函数
  • 如何通过http get/post 获取远程数据
  • 如何parse json
  • 如何parse xml
  • 如何输出为 json
  • 如何处理状态码:404和50x
  • 如何处理文件上传
  • 可选的学习项目
    1. 发送email
    2. log
    3. 图片处理

误区

  • 表单验证辅助函数,很多框架的表单验证部分实现的特别复杂,初学者完全不需要,手写代码处理就够用
  • ORM中的hasone,manytomany,onetomany关系,概念很复杂,其实只是多写/少写一个查询字段的关系,学习成本太高,初学者完全不需要理会,直接跳过

现代web开发框架六大元素

  1. url route/map,表面看这个就是一组正则表达式,其实这是web开发框架的核心,它决定了代码的组织方式
  2. html 模版子系统
  3. orm,或者说数据库访问层
  4. form 前后端验证,表单验证是整个网站开发过程当中最复杂的一步,需要写手很多代码
  5. helper,包括:分页,cache,session,sitemap,rss,email等支持
  6. deployment 支持,简单说,这个框架起码要内置一个http server,更进一步要支持fastcgi,这样才能部署到生产环境