Fork me on GitHub

web框架

web框架就是让开发者可以更简单地构建可靠的、可扩展的、可维护的web应用的代码库。

为什么有必要使用web框架

web框架包含了开发者在过去二十年构建动态web应用中得到的经验教训。框架的使用使得通用HTTP操作的代码复用变得简单,也使组织代码变得更为容易,因此提高了代码的可维护性。

常见的web框架功能

框架会通过其本身的代码提供许多功能,也会通过扩展来实现运行一个web应用所需要的常用操作。这些常见的操作包括:

  1. URL路由
  2. 提供输出HTML、XML、JSON等等格式的模版
  3. 操作数据库
  4. 提供防范诸如跨站请求伪造(CSRF)等等攻击的手段

当然,不是所有web框架都提供上述功能,框架从实现简单的单一用例到包罗万象不一而足,当然对于每个开发者来说复杂度也在提升。一些框架通过“内置电池”的方法来使实现任何功能变得可能,一些则仅仅提供最小化的代码库依靠扩展来实现前者想要实现的功能。

举个例子,Django这个web应用框架内置了一个对象关系映射(ORM)层来抽象关系型数据库的读、写、查询、删除操作。但是,Django的这个ORM层如果不经过大量修改,怕是很难很好的与诸如MongoDB这样的非关系型数据库协作。 一些其他的框架诸如Flask和Pyramid则可以通过导入Python外部库从而更容易的使用非关系型数据库。通常,提供最小化功能而易于扩展的框架和所有功能紧密耦合的框架是框架的两大分野。

web框架资源概况

web框架学习清单

初学框架的时候,选择一个主流的框架 (推荐Django或者Flask)深入学习,而不是企图理解每一种框架的用法。

去框架的资源链接里找一个复杂详细的教程深入地学习。

去学习一下那些使用你心仪的框架开发出来的开源应用的代码,也许他们的代码也可以用到你的应用中去呢。

去写出你的第一个简单的web应用,然后到部署这一节去把它放到网上吧。

你想学哪一种web框架呢?

告诉我更多关于Django框架的知识。

我想了解更多关于Flask框架的知识。

给我看看更多关于Bottle框架的资料吧。

还有更多Python的web框架没有?


对Full Stack Python这本书很感兴趣?想要一本包含代码、详细教程的完整版吗?那么用邮箱订阅吧。一旦完成了我就会发给你的,别担心除了订阅确认邮件,我是不会给你发乱七八糟的邮件的。