我正在寻找一个适合初学者的框架(在Python和Web开发中)。
我已经发现了Django和web.py. 我认为对我来说最重要的事情之一是良好的文档。
感谢您的帮助, 丹
答案 0 :(得分:11)
这非常简单,而且Python'y。一个基本的hello-world web应用程序是..
import web
urls = (
'/(.*)', 'hello'
)
class hello:
def GET(self, name):
i = web.input(times=1)
if not name: name = 'world'
for c in range(int(i.times)):
print 'Hello,', name+'!'
if __name__ == "__main__": web.run(urls, globals())
..就是这样。
我发现Django强迫很多它自己的约定和代码布局,我永远不会记得中间件/快捷方式导入,以及所有其他“魔术”几乎都需要写任何东西。我发现它比Python Web框架更接近Ruby on Rails。
使用web.py,您可以编写一个完整的,功能正常的Web应用程序,而无需使用任何web.py的帮助程序模块 - 您 要做的唯一事情就是import web
并设置URL,这是不可避免的。 (示例中的最后一行运行开发Web服务器)
它有很多内容,比如数据库API,表单助手,模板引擎等等,但它并没有强迫它们 - 你可以通过print "Using <b>%s</b>" % (" string formating ".strip())
完成所有HTML输出你希望!
哦,虽然我强调了简单性,但web.py是http://reddit.com所写的内容,因此它也被证明非常有能力/可靠。另外,web.py作者的this post非常好地解释了为什么我更喜欢web.py而不是Django
答案 1 :(得分:10)
我认为Django有一些我工作过的项目的最佳文档。这就是我们两年前在Turbogears上选择它的原因,它是我们做出的最佳技术选择。
答案 2 :(得分:3)
Django非常棒。 Guido使用它(在谷歌工作)。这是我发现自己在Python中比在Lua中工作更多的主要原因。
答案 3 :(得分:3)
DanJ,这里列出了所有已知的Python框架:http://wiki.python.org/moin/WebFrameworks
我建议查看Django,Turbogears,Pylons等的维基百科文章。[我曾在web.py上写过一篇文章,但它被删除了:-(他们很好地解释了框架之间的哲学和组件差异。
就个人而言,我非常喜欢TurboGears,因为它基于众所周知的组件,CherryPy(用于Web服务和URL路由),Kid(用于模板)和SQLObject(用于对象关系映射)。我喜欢他们已经抵制了为所有组件“滚动自己”的冲动,我觉得结果非常Pythonic并且很容易上手。
但您应该查看一些代码示例和教程,并确定最适合您的内容。
答案 4 :(得分:1)
您还应该查看具有良好文档的web2py,这是构建wep应用程序的一个非常好的框架。
答案 5 :(得分:1)
您可能需要查看Karrigell。它有多种编程语法选项,例如:纯Python,纯HTML和Python脚本,组合等等。我不知道它的扩展程度如何,因为我已经好几年没用过了它,但是它很适合用网页框架弄湿你的脚。
答案 6 :(得分:1)
回应少数人的回答,我建议Django。原因很简单:
答案 7 :(得分:1)
Wekrzeug也值得一提。它不是一个完整的堆栈Web框架。它是一个低级WSGI框架。 (30 Minute Wiki Screencast)
答案 8 :(得分:0)
我假设你在谈论一个Web框架。我使用过CherryPy,发现它非常有用。尝试使用每个解码器编写一个简单的解决方案,并查看它与您的编程风格有多大关系。
答案 9 :(得分:0)
我用原始wsgi编写了web应用程序。也许在某些时候推出我自己的图书馆。我不喜欢大型框架等。在学习原始wsgi时我学会了讨厌http。在你意识到上传文件需要多少愚蠢的解析和解释之后,你真的不喜欢它。
由于wsgi,python拥有大量不同质量的框架。如果你想尝试我的方式,我猜你也许想知道werkzeug。当你还不知道如何做的时候它会提供一些东西。它对我来说可能只有太多的“框架”。最后,写得很好的框架应该超过我在wsgi中所写的内容。