Pylons

Pylons计划
网站类型
Python框架开发
语言English
持有者开源
編輯匿名
网址pylonsproject.org 編輯維基數據鏈接
商业性质No
注册None
推出时间2010年12月27日 (2010-12-27)
现状活跃

Pylons计划是开发一组用Python书写的web应用技术的开源组织。最初这个计划只是一个叫做Pylons的单一的web框架,但是后来合并了repoze.bfg框架,并取了新名字Pyramid,Pylons计划现在由多个有关的web应用技术组成。

Pyramid

Pyramid
開發者Chris McDonough, Ben Bangert, Michael Merickel, Bert JW Regeer, Steve Piercy
首次发布2008年7月8日,​15年前​(2008-07-08[1]
源代码库www.github.com/Pylons/pyramid
编程语言Python
操作系统跨平台
类型Web应用框架
许可协议BSD License
网站trypyramid.com

Pyramid是用Python书写的开源web应用框架,它基于了WSGI。它是受到Zope、Pylons和Django启发的极简主义的web框架[3]

Pyramid最初叫做“repoze.bfg”,它获得关注主要在于Zope[4]Plone社区,随着开放社会基金会的KARL计划从Plone迁移至BFG[5]。在2010年宣布了Pylons框架将于版本1.5转移到使用BFG作为基础[6]。作为将BFG包括入Pylons计划的结果,BFG被重命名为Pyramid[7]

特征

Pyramid是极简主义的跨平台web框架。它不预定持久化方式,可以通过SQLAlchemy集成于SQL数据库或集成于Zope对象数据库英语Zope Object Database二者,还有其他NoSQL数据库比如CouchDB[3]

Pyramid允许开发者使用正则表达式定义映射到对象的路由。同样跟从框架Zope,Pyramid允许层级对象遍历,这里URL的每个部份都是包含其他对象的对象,这种方式类似于文件系统中的文件夹[8]

例子代码

from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response

def hello_world(request):
    return Response('Hello World!')

if __name__ == '__main__':
    with Configurator() as config:
        config.add_route('hello', '/')
        config.add_view(hello_world, route_name='hello')
        app = config.make_wsgi_app()
    server = make_server('0.0.0.0', 6543, app)
    server.serve_forever()

Pylons框架

Pylons框架
開發者Ben Bangert, James Gardner
首次发布2005年9月,​18年前​(2005-09[9]
编程语言Python
操作系统跨平台
类型Web应用框架
许可协议BSD license
网站pylonsproject.org/about-pylons-framework.html

Pylons是一个开放源代码Web应用框架,使用Python语言编写。它对WSGI标准进行了扩展应用,提升了重用性且将功能分割到独立的模块中。

Pylons类似于DjangoTurboGears。Pylons受Ruby on Rails影响很深:它的两个组件,Routes[11]和WebHelpers[12]是Rails特性的Python实现。

安装和依赖

Pylons的官方安装方法是从Python CheeseShop[13]下载使用EasyInstall[14]完成,而大部分的附加工具也通常以相同方式安装。

URL分派

Pylons普遍使用的URL分派器是Routes[11],实际是Ruby on Rails的URL分派的Python重新实现,其他的URL分派器只要是WSGI兼容也可以使用,例如Selector[15]

HTML生成

另一个从Rails Pylons化的部分是WebHelpers[16],它提供了基于路径的URL映射。WebHelpers也提供了一些实用的功能来生成基于script.aculo.us英语script.aculo.usPrototype库的JavaScript代码。

模板

Myghty是缺省的Pylons模板语言,但在版本0.9.6它被替代为Mako[17]。也可以使用其他模板语比如Genshi英语Genshi (templating language)[18]

数据库抽象和对象关系映射

Pylons没有默认的数据库程序库。可以使用比较有名的SQLObjectSQLAlchemy

另见

参考

  1. ^ Pyramid Change History. The Pyramid Web Framework. Pylons Project. [10 March 2017]. (原始内容存档于2021-01-01). 
  2. ^ Release 2.0.2. 2023年8月25日 [2023年9月19日]. 
  3. ^ 3.0 3.1 Chris McDonough. repoze.bfg introduction. [2010-09-21]. (原始内容存档于2013-12-30). 
  4. ^ Gary Poster. Zope Summit, DZUG, repoze.bfg. 2010-09-17 [2010-09-21]. (原始内容存档于2011-08-13). 
  5. ^ Thomas Moroz, Chris Rossi & Calvin Hendryx-Parker. KARL – large-scale Knowledge Management. Budapest, Hungary: Plone Conference 2009. 2009-10-28 [2010-09-23]. (原始内容存档于2010-06-02). 
  6. ^ Ben Bangert. Emails explaining the Pylons 2 structure. 2010-09-18 [2010-09-21]. (原始内容存档于2022-04-01). 
  7. ^ repoze.bfg is now Pyramid. [2011-01-03]. (原始内容存档于2010-11-13). 
  8. ^ Wichert Akkerman. Lessons from other frameworks. Budapest, Hungary: Plone Conference 2009. 事件发生在 25:50. 2009-10-28 [2010-09-21]. (原始内容存档于2013-04-18). 
  9. ^ History of Pylons. [2020-11-01]. (原始内容存档于2020-07-07). 
  10. ^ Release 1.0.2. 2015年7月22日 [2018年7月22日]. 
  11. ^ 11.0 11.1 Routes
  12. ^ WebHelpers. [2015-12-15]. 原始内容存档于2015-12-22. 
  13. ^ Python CheeseShop. [2008-08-11]. 原始内容存档于2008-07-19. 
  14. ^ EasyInstall
  15. ^ Selector
  16. ^ WebHelpers
  17. ^ Haas, Christoph Beginning Pylons 互联网档案馆的存檔,存档日期2009-02-16.. Retrieved July 5, 2007
  18. ^ Genshi Wiki Pylons with Genshi (页面存档备份,存于互联网档案馆) Retrieved July 5, 2007

外部链接

  • 官方网站 在维基数据上编辑此内容
C++
  • CppCMS英语CppCMS
  • Wt英语Wt (web toolkit)
CLI
  • ASP.NET
    • Core
    • AJAX
    • 动态数据英语ASP.NET Dynamic Data
    • MVC
    • Razor英语ASP.NET Razor
    • Web Forms
  • DNN英语DotNetNuke
  • BFC英语Base One Foundation Component Library
  • MonoRail英语MonoRail (software)
  • OpenRasta英语OpenRasta
  • Umbraco
ColdFusion
  • CFWheels
  • ColdBox Platform英语ColdBox Platform
  • ColdSpring英语ColdSpring Framework
  • Fusebox英语Fusebox (programming)
  • Mach-II英语Mach-II
  • Model-Glue英语Model-Glue
Common Lisp
  • Caveman2英语Caveman2
  • CL-HTTP英语CL-HTTP
  • UnCommon Web英语UnCommon Web
  • Weblocks
D
  • Vibe.d英语Vibe.d
Haskell
  • Happstack英语Happstack
  • Yesod英语Yesod (web framework)
  • Snap英语Snap (web framework)
Java
  • AppFuse英语AppFuse
  • Flexive英语Flexive
  • Grails英语Grails (framework)
  • GWT
  • ICEfaces英语ICEfaces
  • ItsNat英语ItsNat
  • JavaServer Faces
  • JHipster英语JHipster
  • Jspx英语Jspx-bay
  • JWt英语JWt (Java web toolkit)
  • OpenXava英语OpenXava
  • Play
  • Reasonable Server Faces英语Reasonable Server Faces
  • Remote Application Platform英语Remote Application Platform
  • RIFE英语RIFE
  • Seam英语JBoss Seam
  • Spring
  • Stripes英语Stripes (framework)
  • Struts
  • Tapestry
  • Vaadin英语Vaadin
  • Vert.x
  • WebWork英语WebWork
  • Wicket
  • WaveMaker英语WaveMaker
  • ZK
JavaScript
  • Ample SDK英语Ample SDK
  • Angular英语Angular (application platform)/AngularJS
  • Backbone.js
  • Chaplin.js英语Chaplin.js
  • Closure英语Google Closure Tools
  • Dojo Toolkit
  • Ember.js
  • Extjs
  • JQuery
  • Meteor英语Meteor (web framework)
  • MooTools英语MooTools
  • Node.js
  • Prototype
  • React
  • Rico
  • script.aculo.us英语script.aculo.us
  • Sencha Touch英语Sencha Touch
  • SproutCore英语SproutCore
  • Vue.js
  • Wakanda英语Wakanda (software)
Perl
  • Catalyst
  • Dancer英语Dancer (software)
  • Mason英语Mason (Perl)
  • Maypole
  • Mojolicious英语Mojolicious
  • WebGUI
PHP
  • CakePHP英语CakePHP
  • CodeIgniter
  • Fat-Free
  • FuelPHP
  • Gyroscope英语Gyroscope (software)
  • Horde英语Horde (software)
  • Kohana英语Kohana (framework)
  • Laravel
  • Lithium英语Lithium (software)
  • Midgard英语Midgard (software)
  • MODX英语MODX
  • Nette英语Nette Framework
  • Phalcon
  • PRADO英语PRADO (framework)
  • Qcodo英语Qcodo
  • Silex英语Silex (web framework)
  • SilverStripe
  • Symfony
  • TYPO3
  • Xaraya英语Xaraya
  • XOOPS
  • Yii英语Yii
  • Zend framework
Python
Ruby
  • Camping英语Camping (microframework)
  • Merb英语Merb
  • Padrino英语Padrino (web framework)
  • Ruby on Rails
  • Sinatra英语Sinatra (software)
Rust
  • Yew
Scala
  • Lift
  • Play
  • Scalatra英语Scalatra
Smalltalk
  • AIDA/Web英语AIDA/Web
  • Seaside英语Seaside (software)
其他语言
  • Application Express英语Oracle Application ExpressPL-SQL
  • Grails英语Grails (framework)Groovy
  • Kepler英语Kepler (software)Lua
  • OpenACS英语OpenACSTcl
  • Phoenix英语Phoenix (web framework)Elixir
  • SproutCore英语SproutCoreJavaScript-Ruby
  • YawsErlang
  • BlueBream
  • Bottle
  • CherryPy
  • CubicWeb英语CubicWeb
  • Django
  • FastAPI英语FastAPI
  • Flask
  • Grok
  • Nagare英语Nagare (web framework)
  • Nevow英语Nevow
  • Paste英语Python Paste
  • Pyjs英语Pyjs
  • Pylons
  • Pyramid
  • Quixote
  • Spyce英语Spyce (software)
  • TACTIC
  • Tornado
  • TurboGears
  • Webware英语Webware for Python
  • web2py
  • Zope 2