6.01 Web框架

Web框架

A web framework is a code library that makes a developer’s life easier when building reliable, scalable and maintainable web applications.

Why are web frameworks useful?

Web框架对网站开发进行了封装,让构造和维护网站变得更加便捷。常用的Python Web框架有 Django, Flask, Bottle, Pyramid, Morepath

常用Web框架功能

Web框架提供了如下功能:

  1. URL 路由
  2. HTML, XML, JSON及其他输出模板化
  3. 数据库操作
  4. 针对跨站点请求攻击Cross-site request forgery (CSRF) 的防范
  5. Session 存储和获取

并非所有Web框架都包含上述全部功能。比如,Django Web框架包含了一个对象关系映射层Object-Relational Mapping (ORM) ,抽象除了数据库的读写查删。但是,Django的ORM不能在非关系型数据库比如MongoDB上使用。

有些Web框架比如FlaskPyramid能通过引入外部Python库与非关系型数据库结合。这也表明,自身功能少的,容易与外部库结合,自身功能已经包含一切的,就不容易与外部库结合。

Web框架比较

this Django web application tutorialthe same application built with Flask,对比了同一个项目分别用Django和Flask开发。

有一个仓库叫compare-python-web-frameworks,其中的同一个项目用不同Python web框架实现。

学习web框架的同时也应该学习web application deployment and web APIs.

我必须使用web框架吗?

是否使用web框架,取决于你的网站开发经验和你的开发目标。如果你是一个网络开发新手,想要将网络开发作为一个学习项目,web框架会帮助你理解URL路由,数据操作,验证等常用web应用模块。

如果你是一个经验丰富的网络开发人员,认为现有web框架不能满足你的需求,你可以基于现有开源项目比如Werkzeug 制作你自己的web框架。

简言之,是否使用web框架取决于你的经验和你的目标。使用web框架不是必须,但是却会让你事半功倍。

Web框架资源

Web框架学习清单

  1. 选择一个Python Web框架,(推荐Django 或者Flask)并坚持使用不轻易更换。初学者应该先精通一个框架,而不是同时学习多个框架。
  2. 找一个详尽的介绍,跟着做一遍上面的示例。推荐Django Girls教程。
  3. 用该框架开发你自己的web项目并部署到网上。

发表评论

电子邮件地址不会被公开。 必填项已用*标注