Python Web 开发的十个框架【转载】
Python 是一门动态、面向对象语言。其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性。除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Python甚至还自带服务器。
其它方面,Python拥有足够多的免费数据函数库、免费的Web网页模板系统、还有与Web服务 器进行交互的库、这些都可以设计到你的Web应用程序里面。
这篇文章列举了十个Python Web应用开发框架,不过因为Django似乎人尽皆知的样子,没有列在文中。。
CubicWeb
CubicWeb的最重要的支柱就是代码的可重用性。CubicWeb宣扬自己不仅是一个Web开发框架,而且还是一款语义Web开发框架。CubicWeb使用关系查询语言(RQLRelation Query Language)与数据库之间进行通信。
Zope2
Zope 2是一款基于Python的Web应用框架,是所有Python Web应用程序、工具的鼻祖,是Python家族一个强有力的分支。Zope 2的“对象发布”系统非常适合面向对象开发方法,并且可以减轻开发者的学习曲线,还可以帮助你发现应用程序里一些不好的功能。
Web2py
Web2py是一个用Python语言编写的免费的开源Web框架,旨在敏捷快速的开发Web应用,具有快速、可扩展、安全以及可移植的数据库驱动的应用,遵循LGPLv3开源协议。
Web2py提供一站式的解决方案,整个开发过程都可以在浏览器上进行,提供了Web版的在线开发,HTML模版编写,静态文件的上传,数据库的编写的功能。其它的还有日志功能,以及一个自动化的admin接口。
TurboGears
它是另外一个基于 Python 的 MVC 风格的 Web 应用程序框架。
TurboGears 开发人员称这个项目是一个 “大框架(megaframework)”,这是因为它是由现有的子项目构成的。TurboGears 可以帮助将很多主要组件集成在一起:
MochiKit:JavaScript 库
Kid:模板语言
CherryPy:基本 Web 框架
SQLObject:对象关系映射器(ORM)
Pylons
Pylons是一个开放源代码的Web应用框架,使用python语言编写。它对WSGI标准进行了扩展应用,提升了重用性且将功能分割到独立的模块中。
Pylons是最新的Web应用框架中的典型,类似于Django和TurboGears。Pylons受Ruby on Rails影响很深:它的两个组件,Routes和WebHelpers是Rails特性的Python实现。
Grok
Grok 是一个为 Python 开发者提供的Web应用开发框架,Grok 的重点是敏捷开发,是一个易用而且功能强大的开发框架,基于 Zope 3 技术。
Web.py
Web.py是一个轻量级的开源Python Web框架,小巧灵活、简单并且非常强大,在使用时没有任何限制。目前Web.py被广泛运用在许多大型网站,如西班牙的社交网站Frinki、主页日平均访问量达7000万次的Yandex等。
Pyramid
Pyramid也是一款轻量级的开源Python Web框架,是Pylons项目的一部分。Pyramid只能运行在Python 2.x或2.4以后的版本上。在使用后端数据库时无需声明,在开发时也不会强制使用一些特定的模板系统。
CherryPy
CherryPy是一个基于Python的Web使用程序开发框架,它极大地简化了运用 Python 的web开发人员的工作。它为Python开发人员提供了友好的HTTP协议接口。大家知道,HTTP可是万维网的支柱协议,而CherryPy将HTTP协议简化成Python API来供Python 开发人员使用,这极大地简化了Web开发人员对HTTP协议的操作。
CherryPy自身内置了一个HTTP服务器,或者称为Web服务器。这样,对于CherryPy的用户来说,不用另外搭设Web服务器就能直接运行 CherryPy应用程序了。实际上,Web服务器是到达CherryPy应用程序的关口,是所有的HTTP请求和响应的必经之地。
因此,可以这样理解 CherryPy内建的Web服务器:它是位于处理客户端与服务器端之间的一层软件,用于把底层TCP套按字传输的信息转换成Http请求,并传递给相应 的处理程序;同时,还把上层软件传来的信息打包成Http响应,并向下传递给底层的TCP套按字。
Flask
Flask是一个轻量级的Web应用框架, 使用Python编写。基于 WerkzeugWSGI工具箱和 Jinja2模板引擎。使用 BSD 授权。
Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功 能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。
▼
转载自:http://mp.weixin.qq.com/s?__biz=MzAwNDc0MTUxMw==&mid=2649638917&idx=1&sn=ba09c9a9275a8f16b5006ba63eb8653d&scene=0#rd
Python Web 开发的十个框架【转载】的更多相关文章
- Python Web开发:使用Django框架创建HolleWorld项目
开发环境搭建 Python环境安装 下载地址:https://www.python.org/downloads// Django安装 打开Windows CMD输入pip install django ...
- python web开发——c2 flask框架和flask_script
重定向/error 通过flask中的redirect方法和自定义的newpath函数.redirect_demo函数实现重定向: #coding:utf-8 from flask import Fl ...
- Python Web开发:Django+BootStrap实现简单的博客项目
创建blog的项目结构 关于如何创建一个Django项目,请查看[Python Web开发:使用Django框架创建HolleWorld项目] 创建blog的数据模型 创建一个文章类 所有开发都是数据 ...
- 转载:Python Web开发最难懂的WSGI协议,到底包含哪些内容?
原文:PSC推出的第二篇文章-<Python Web开发最难懂的WSGI协议,到底包含哪些内容?>-2017.9.27 我想大部分Python开发者最先接触到的方向是WEB方向(因为总是有 ...
- python web 开发学习路线
转载,备着 自己目前学习python web 开发, 经过两个月的摸索,目前对web开发有了浅显的认识,把自己的学习过程贴出来.1.python入门推荐老齐<从零开始学python>,&l ...
- 《Python Web开发实战》|百度网盘免费下载|Python Web开发
<Python Web开发实战>|百度网盘免费下载|Python Web开发 提取码:rnz4 内容简介 这本书涵盖了Web开发的方方面面,可以分为如下部分: 1. 使用最新的Flask ...
- Java Web开发和Python Web开发之间的区别
今天的文章讨论了Java Web开发和Python Web开发之间的区别.我不鼓励我们在这里从Java Web迁移到Python Web开发.我只是想谈谈我的感受.它不一定适合所有情况,仅供我们参考. ...
- Python Web开发中的WSGI协议简介
在Python Web开发中,我们一般使用Flask.Django等web框架来开发应用程序,生产环境中将应用部署到Apache.Nginx等web服务器时,还需要uWSGI或者Gunicorn.一个 ...
- 2020 python web开发就业要求锦集
郑州 Python程序员 河南三融云合信息技术有限公司 6-8k·12薪 7个工作日内反馈 郑州 1个月前 本科及以上2年以上语言不限年龄不限 微信扫码分享 收藏 Python程序员 河南三融云合信息 ...
随机推荐
- 通过configSource提高web.config配置灵活性
很多时候我们会有这样的情况,开发环境和测试环境中的配置文件是不一样的,最明显的就是数据库连接串,这样,每次我们发布一个测试版本,都要手动去修改一下配置文件,是不是很麻烦的说.其实利用web.confi ...
- 【XLL API 函数】xlCoerce
将 XLOPER/XLOPER12 转换为另一种类型,或是查询表格中的单元格值. 函数原型 Excel12(xlCoerce, LPXLOPER12 pxRes, 2, LPXLOPER12 pxSo ...
- js方法类库封装的简易示例
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></s ...
- October 13th 2016 Week 42nd Thursday
If the world seems cold to you, kindle fires to warm it. 若世界以寒相待,请点燃火堆以温暖相报. Kindle fires to warm th ...
- 用线框模式绘制多边形 glPolygonMode
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glBegin(GL_TRIANGLES);//开始以g_ViewMode模式绘制 glColor3ub(182. ...
- CABasicAnimation animationWithKeyPath 一些规定的值
CABasicAnimation animationWithKeyPath Types When using the ‘CABasicAnimation’ from the QuartzCore Fr ...
- flume学习
下载 自定义sink(mysql) 1.ide打开下载后的源码 2.代码如下: /** * Licensed to the Apache Software Foundation (ASF) under ...
- 多米诺(codevs 3052)
题目描述 Description 一个矩形可以划分成M*N个小正方形,其中有一些小正方形不能使用.一个多米诺骨牌占用两个相邻的小正方形.试问整个区域内最多可以不重叠地放多少个多米诺骨牌且不占用任何一个 ...
- 线程变量ThreadLocal的使用
我们有时候会通过token进行多次查询(猪:token是redis中的key),比如: 一次是在登录拦截器中,一次是在controller的业务中查询,这样存在性能和资源的浪费问题!!! 那么如何将拦 ...
- Index on DB2 for z/OS: DB2 for z/OS 的索引
可以创建在任何表上的索引: Unique Index:An index that ensures that the value in a particular column or set of col ...