Python网页开发 - 有框架还是无框架
我打算把一个用PHP写的应用程序转到Python上。这个应用主要是用来收集和处理数据的。它的主要部分是一个独立的命令行应用程序。此外,还有一个网页界面,基本上是一个非常简单的报告界面。
在PHP版本中,我没有使用框架,但因为我对Python还不太熟悉,所以我在想使用像Django这样的框架是否会更好,或者至少使用Genshi。我的顾虑是,我不想让我的应用程序因为需要分发框架的部分而变得很复杂。
在这种情况下,单纯使用Python的cgi导入是否是最好的选择?我觉得使用框架可能会增加负担,但也许我对框架的看法还不够“Python”。你有什么建议吗?
8 个回答
这要看你项目的大小。如果你之前只有几个简单的PHP脚本用来调用你的独立应用,那我可能会建议你用CGI应用。
但如果你需要用到数据库、网址重写、模板、用户管理这些功能,那使用一个框架会是个不错的选择。
当然,在你转换之前,想想是否真的值得仅仅为了换语言而去做这个,或者你是否需要Python的一些特定功能。
祝你好运!
我认为,命令行的Python是最重要的。先把这个搞定,因为这就是你要做的核心内容。
问题在于,从命令行应用程序使用网络框架的ORM(对象关系映射)并不是很明显。Django提供了从命令行应用程序使用他们的ORM的具体说明。刚开始的时候这些说明可能会让人觉得麻烦,但从长远来看,它们真的是救命稻草。我经常用它来处理大量客户提供的文件上传。
不要使用裸CGI。虽然不是不可能,但太多事情可能出错,而这些问题都已经被框架解决了。为什么要重新发明轮子呢?直接使用别人的代码就好了。
使用框架需要学习,但并没有真正的“负担”。它们并不慢。它们是你不需要自己写或调试的代码。
先学点Python。
做一下Django的教程。
开始构建一个网页应用。
a. 启动一个Django项目。在这个项目里构建一个小应用。
b. 使用Django ORM构建你的新模型。为这个模型创建一个Django单元测试。确保它能正常工作。你可以使用默认的管理页面,进行很多实验。只要暂时不要构建整个网站。
让你的命令行应用使用Django ORM正常工作。基本上,你需要调整这个应用的设置文件,让它运行得更顺利。可以查看设置/配置部分。
一旦你的命令行和默认管理界面都运行起来了,你就可以完成网页应用了。
框架的黄金法则是:这是你不需要自己写、调试或维护的代码。好好利用它们吧。