我即将开始一个新的个人 web / iphone 应用程序项目,它需要以下内容:
- 在后端存储数据
- 通过 openid 对用户进行身份验证
- 生成基于 JSON 的 API 用于读取和写入数据
我通常在我的所有项目中使用 Django,但我想我会借此机会学习一些新东西。那么,他们的任何基于 Python 的 Web 开发框架是 Django 的良好替代品吗?理想情况下,那些在上面列出的要点上很强大?
如果框架是加分项:
- 轻的
- 易于安装、部署和开发
有什么建议吗?
我只用过 Django,我喜欢它,但这里有几个其他的(我认为 Flask 是你最好的选择)
“Flask 是基于 Werkzeug、Jinja 2 和良好意图的 Python 微框架。” - http://flask.pocoo.org/
“Pylons 项目不会专注于单一的 Web 框架,而是会开发一系列相关技术。Pylons 项目的第一个包是 Pyramid Web 框架。随着时间的推移,其他包已经添加到集合中,包括更高级别的组件“ - http://www.pylonsproject.org/
“Grok 是一个面向 Python 开发人员的 Web 应用程序框架。它面向初学者和非常有经验的 Web 开发人员。Grok 强调敏捷开发。Grok 简单而强大。” - http://grok.zope.org/
“TurboGears 将帮助您在几分钟内创建一个数据库驱动的、可随时扩展的应用程序。所有这些都包含像编写函数一样自然的代码、设计人员友好的模板、浏览器端和服务器端的简单 AJAX 以及一个非常强大和灵活的对象关系映射器(ORM)。” - http://www.turbogears.org/
经过多一点挖掘,我发现了这个资源:http ://wiki.python.org/moin/WebFrameworks/
我在几个小项目中使用了web2py ,并且非常喜欢它。
它非常轻量级,有很好的文档,并且根据我的经验,部署起来非常简单。我从未使用过 Django,所以我不确定它的比较。
几个你好世界:
def hello1():
return "Hello World"
def hello5():
return HTML(BODY(H1(T('Hello World'),_style="color: red;"))).xml() # .xml to serialize
def hello3():
return dict(message=T("Hello World"))
的对应视图hello3
:
{{extend 'layout.html'}}
<h1>{{=message}}</h1>
使用 web.py 可以在http://webpy.org/找到非常简单的 URL 处理和许多内置功能但仍然很轻