我在2周前使用GAE,WebApp2,Jinja2和WTForms开始进行Web开发。
我读了几篇文章,讨论,用gae(udacity)观看了关于web开发的课程,并开始了一个小项目。
现在我对网络开发缺乏经验,我不知道应该选择哪条路径。
最近几天我用GAE和webapp2探讨了一下。它非常容易使用。但我不得不说我只使用webapp2有一个请求处理程序。 (发布/获取)
对于模板我使用了Jinja2,这也是自我解释。
现在Reddit的Steve说,使用轻量级框架而不是非常大的框架总是更好,因为你有更多的控制权,你可以更容易扩展。
但我还是想调查Django-nonrel。我知道Django在GAE中是有限的。
但说实话,我甚至不知道Django为我做了什么,(与使用Jinja2的WebApp2相比)
现在回答我的问题:
你会建议初学者看看Django吗?如果我更有经验=>替换一些Django代码。
坚持使用WebApp2 +“一些模板引擎”?
PS:我不问哪个框架是最好的,我只是想要一些考虑点。
答案 0 :(得分:4)
简短的回答是,你可以采取任何一种方式,会有一些优点/一些缺点,但我认为这两者都不是纯粹的胜利。
以下是使用Django-nonrel作为newb的一些优点:
缺点:
我可以说的一件事是,如果你是为django写的,那就很难逐渐摆脱它。在你摆脱它之前,你必须更换你正在使用的所有部分,否则,你仍然必须包括大部分包。
使用我所知道的django的另一种选择是gae-boilerplate。它尝试做同样的事情,但有各种不同的部分。尽管如此,它仍然需要一个好的测试框架。
答案 1 :(得分:4)
如果您对webapp2(python 2.7的轻量级官方谷歌应用引擎框架)感兴趣,我建议您从样板或示例项目开始。我个人推荐https://github.com/coto/gae-boilerplate。我环顾四周,我认为它是目前最全面,最积极维护和最新的webapp2样板。
样板项目有助于快速启动更多传统网站和网络应用程序,但我认为即使你想要处理像web服务或在线API这样不那么传统的东西,它也值得一看。
如果缺少一两个功能,您可以随时将它们添加到问题列表中,或者像我一样自己提供。上面提到的Flask Engine是烧瓶路线的一个很好的替代品。
答案 2 :(得分:2)
我将解决您的第二个问题/部分,关于是否使用webapp2或其他模板框架。我处于类似的位置,在编写个人项目时学习Python和GAE,并寻找一个代码库,使其易于学习,推断并在使用GAE环境方面高效。我没有试过webapp2,但发现了另一个值得一看的框架。当然,你的里程会有所不同。
具体来说,我在GitHub上发现了Flask-Engine作为框架,而PyCharm作为我的编辑器。 Flask-Engine可以在这里找到:
https://github.com/zachwill/flask-engine
可以在这里找到PyCharm:
http://www.jetbrains.com/pycharm/
Flask-Engine包括Flask,HTML5Boilerplate和所有集成的许多其他有用工具。以及一个简单的待办事项应用程序和电子邮件页面。进入代码以了解添加代码的位置相当容易。它还包括所有GAE配置文件,以使Flask和其他工具正常工作。我发现它是交钥匙:我将文件上传到一个空文件夹,在PyCharm中添加了一个项目,并调用了一个Web浏览器。
我发现Flask-Engine唯一不可思议的问题是,至少在Mac OSX(Lion)上,设置代码并不准确:您将模板代码下载到空项目文件夹。设置代码表示您将文件下载到项目中;在我将空项目文件夹路径添加到命令行之前,这种方法对我不起作用。然后在PyCharm(和GAE App Launcher)中添加一个指向现在填充的项目文件夹的项目。
对于Python,PyCharm非常有用,因为它为GAE项目以及Django提供工具以及一整套调试工具。我发现99美元的个人许可证还可以。有15或30天的免费试用期。我试过Eclipse但发现它太复杂了。当然还有其他很棒的IDE。