11.5-关于用Python建网站

作者:陈侃
链接:https://www.zhihu.com/question/20414620/answer/15069379
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

python的web应用框架可谓非常极其之多,远非其他语言所能比
某本书说:为什么python有如此多的web框架?因为实现一个太简单了。。

bitworking.org/news/Why 在文章中,Joe Gregorio 为了展示任何人可以通过 Python 快速创建自个儿的 Web 应用框架,当场使用 8 个文件(6 个 Python 脚本,一个页面模板文件,一个服务器脚本)创建并运行了一个含有足够功能的应用框架!

好了,下面简单介绍几款吧:
  1. .Zope:Zope 发布年代之早,开发时间之长,造成的影响之大,甚至于有人认为“未来互联网就是 Zope”。 开创了一系列 Web 应用开发的新技术和理念;形成了宏大的社区和模块树; 虽然学习曲线实在太陡,但是过来人都说“只要是作 Web 应用开发,学到底就会发现,其实一切都在 Zope 中实现过了!”
  2. Twisted:Twisted也是老牌社区的作品,关注网络应用底层支持,支持几乎所有网络协议,关注企业级的网络服务构建;只是缺少立等可取的应用框架,一切都得用 Twisted 去现实,算是提供了成套的钻石级工具箱!
  3. CherryPy、Quixote(豆瓣)、Karrigell、web.py 等都轻小型框架:标志特性是没有内置的数据库(类似 MySQL 的关系型主流数据库)支持模块。突出的共同特色有:
  • 配置简便;
  • 模板系统简单轻便,或是可以自由使用外部模板系统;
  • 调试相对方便,有的甚至有专门的问题回溯机制。
  • Django、TurboGears、Eurasia、UliWeb等:突出的共同特色有:
    • 有内置的 ORM 模块支持数据库的对象化操作;
    • 有内置的事务性功能支持(比如说登录认证);
    • 有高级的模板系统,支持复杂的页面组合,有的甚至有内置的 Ajax 页面动态效果支持。
    根据关键功能组件的实现,又分两类:
    • “All in one 式”:任何方面的功能都是自行开发内置包含的;胜在内部契合严密,所以运行效率比较好;但是,一旦有问题就非常难以清查,而且一般很难做到平滑的版本兼容;吻合框架针对的领域开发起来比较直接,但是难以定制支持另外的情景,Django是其中之翘楚。
    • “Mix-in 式”:多数方面的功能是直接使用第三方模块来完成的;胜在选择自由,可以使用各种类似的已熟悉的功能组件来替代默认的,学习成本小;而且各个组件可以单独升级,版本兼容危机小;但是,由于要兼顾各种组件接口,隐患要多些,又是通过中间层来进行配合的,数据通过了很多类转发,运行效能可能比较低;TurboGears 是其中的经典作品。
    (摘自:《可爱的python——哲思社区》 ::>_<::未经授权)

Instagram,豆瓣,42qu,知乎,Youtube 都是用Python建的。

对于新手的学习建议:
flask.django 都可以作为Python建站的框架,新手的话先参考廖雪峰的Python教程 不要只看基础知识
主要做后面的建站项目 遇见不熟悉的再翻前面的基础 学习时间差不多一个月左右
中途可以去下w3c 简单了解下前端HTML CSS js 不要求熟练 能大致看懂就可以
然后写一个增删改查的前端操作页面..差不多入门了


作者:白菜猫
链接:https://www.zhihu.com/question/20414620/answer/108705145
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

几乎任何语言都可以建站,语言只是工具而已。python当然可以。
其实用python 自带了 wsgiref 就可以不需要框架搭建web。据说flask 开始版本也只有500行!
建网站是python的强项,框架特别多,一搜一大把,随便学一个都能很容易做个小网站。

————————————————————————————————————

但也有推荐php的:

来源:http://bbs.csdn.net/topics/390459950

做网站php,做服务器开发python
给一个较肤浅的两者比较:
1.语言方面两者可比性不高,python略微比php代码短,如果熟悉SPL(python目前还没有递归器,要靠自写,但SPL内有提供),php也能写出很精干的代码
2.两者区别较大还是在周边
1)两者的资料都不少,但php中文资料丰富些,python深入的资料多是英文
2)架设网站,python比php难得多,至少你想找个能提供支持python的空间几乎没有,只能自己架设,光这点就可以断定目前应选php做网站
3)python目前面临一个问题,就是py2和py3相距甚远(有点像当年php4->php5的过渡期),且很多成熟的框架都是基于py2开发的,虽然陆续有些已过渡或正在过渡到py3,但对使用者选择py2还是py3是个艰难的决定
4)php较偏字符串处理(仅指与python比较),因为网络数据传输都是字符串/字节型传输;python的处理能力覆盖面大些,至少科学运算和文件处理能力要比php强

php天生就是为了做网站的,官方在这方面下的功夫也显然比python多很多
但想做一些系统级的开发又不想使用c/c++,.net,java这类严谨的语言,可以考虑python

———————————————————————————————————

对Python的几个框架的指导:

来源:http://blog.csdn.net/huyoo/article/details/1395463

Python是一种动态编程语言。 

python的web framework

如果你想使用Python做网站,目前存在很多优秀的网站快速开发框架供你选择。 
就我目前知道而且用过的,就有 zope 和 plone 。你可以搜索一下。 

网站架构中 Zope 和 Plone 有 Windows 安装文件,一路装好就可以用。 

Quixote

Quixote/CherryPy 如果用自带的web服务器也几乎是下载了就可以用的。 
如果你使用 Quixote : 
最简单使用 Quixote 的方法: 
1、安装好 Python ; 
2、把 python 的目录加到你的环境变量 path 里面,不加也可以,就是每次自己打路径; 
3、下载,解压缩 Quixote,文档在 doc 目录里面; 
4、解压缩后,安装 Quixote,在 Quixote 目录里面:python setup.py install。 
5、在Quixote 的 server 目录里面运行 python simple_server.py,访问 http://localhost:8080/ 看看。 


稍微复杂一点。 

Django

 不错,加上个 sqlite3 做后台,然后用 gvim 写程序

在WIN下架设APACHE+MYSQL麻烦的话,可以用WampServer,集成了apache/mysql/php了,再就是给APACHE配MOD_PYTHON和DJANGO了

Karrigell 

也不错,如果系统已安装 python,直接解压运行即可。自带演示,包括应用(wiki/Bussiness/task/html edit)和组件(页面模板、RequestHandler参数调试、Cooki等),很方便! 
补充一下,Karrigell内建的buzhug数据库也要 python setup.py install 一下,这样Karrgell里面的demo才可以运行 

也可以试试pylons.它的调试,很有特点。 


webpy.org   你会喜欢他的 

我倒是在用django 
搭建环境:  XP sp2 + python 2.4.3 + django 0.95 
搭建环境: win2003+ python 2.4.3 + django 0.95 

python+Django+apache+mysql


感觉这些Web framework都是非常简洁方便的。

使用python做的中文网站:

豆瓣网 : http://www.douban.com

 豆瓣网的服务器环境: 

服务器OS+WebServer+Python & Version + Web Framwork 

gentoo+lighttpd..

 

 网友对这些构架的评论

zope 对大访问量支持不好 

psp 配置过于困难 

pythonCGI 效率也不是很好
 

 

Django 

 


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值