谈及WEB开发,使用java来的确要比python多的多。但实际上还是有很多大型的网站都是使用python搭建起来的,如国外最大的视频分析网站YouTube、国内的豆瓣、搜狐以及知乎等都是使用python开发的。使用python常用搭建网站的框架有Django、tornado、web.py、web2py、CherryPy、Flask、Bottle、Quixote等。用的比较多的有Django、tornado、Flask。下面主要来介绍一下tornado和django。

一、Django
Django是一个开发源代码的web应用框架是用python写的。采用了MVC的框架,开发网站的应该都知道MVC,模型、视图、控制器,这里有点像java的spring框架。Django的核心组件有,创建模型的对象关系映射,就是将数据库中的表与类对应起来操作数据库的时候不用写SQL语句直接操作对象来完成对表的操作,在使用Django框架的时候只要先定义好类然后再通过两句命令就可以完成自动的数据建表,类似于hibernate的ORM,一流的URL设计、设计者友好的模板语言、缓存系统。缺点就是Django不支持异步,所以它还是比较适合小型的压力不大的项目,对于高并发的处理就扛不住了。学好Django找一份工作还是不成问题的。

二、tornado
tornado也是一种开放源代码的服务器,tornado与Django等主流框架有这最明显的区别就是它是非阻塞式的服务器,而且速度相当快,tornado每秒可以处理数以千计的连接,所以tornado是实时web服务的一个理想框架,如果结合nignx一起使用可以处理的连接会更多。但是,tornado有一个坏处,第三方库相对比较少,而且很多的东西还需要自己配置,不过tornado的灵活性还是比较强可以与其他的框架结合一起使用。tornado不支持ORM操作,在下一篇文章中,我会介绍如何将tornado、Django和nignx一起结合来搭建一个网站。下面用一张图对比一下,我为什么要选择tornado+nginx,使用Django的目的是为了方便操作数据库。

三、nginx
nginx是一个高性能的HTTP和方向代理服务器,也是一个IMAP/POP3/SMTP服务器。nginx是一款轻量级的web服务器,它是用c开发的,整个服务器只有几M。而且占用的内存少,并发能力强,像百度、京东、新浪、网易、腾讯、淘宝都使用了nginx。

Python之web开发(一):python常用搭建网站的框架简介相关推荐

  1. 如何用Python做Web开发?——Django环境配置

    用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手. 概念 最近有个词儿很流行,叫做"全栈"(full ...

  2. pythonweb开发-如何用Python做Web开发?——Django环境配置

    用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手. 概念 最近有个词儿很流行,叫做"全栈"(full ...

  3. php和python哪个用了开发web好-web开发选择Python还是PHP好呢?

    原标题:web开发选择Python还是PHP好呢? Python与PHP是两种不同的编程语言,二者的学习成本并不是很高,所以成为了很多新手学习的第一门语言. 这两种语言的优缺点对比大致如下: 1.PH ...

  4. pythonweb开发-Web | 浅谈用Python进行Web开发

    Web开发这样一个大概念,对我这种小白来说,想学也不知道从哪下手.在网上广泛地浏览了一下这个方面的文章后,我发现当今Web开发的一大热门语言是Python(最大的当然还是PHP),而恰好我平常用Pyt ...

  5. python web开发要学什么_Python WEB开发 用Python开展web开发必须学习什么?

    用Python开展web开发必须学习哪些? 针对新手想更轻轻松松的学好Python开发技术性,Python网络爬虫,Python数据分析,人工智能技术等技术性,这儿给大伙儿共享一套系统软件教育资源,加 ...

  6. flask web开发:基于python的web应用开发实战_在知乎上学 Python Web 开发篇

    通知: 1. 最近我们将进行2期学习小组,面向完全零基础的Python入门学习小组已经开始,第一次任务的讨论将于明晚(15号)进行,现在上车还来得及 2. 另有一期数据可视化小组将于年前启动,第一次讨 ...

  7. python web什么意思_理解Python的Web开发

    因为python代码的优雅美观且易于维护这一特点,越来越多的人选择使用Python做Web开发.而Python的Web框架百花齐放,目前比较流行的框架有大包大揽的Django,小巧灵活的Flask.B ...

  8. Python Django Web开发入门-刘硕-专题视频课程

    Python Django Web开发入门-16018人已学习 课程介绍         使用强大的Django Web框架轻松高效的开发网站,各类web应用(微信公众平台) 课程收益     Dja ...

  9. java和python的web自动化有什么区别-Java Web开发和Python Web开发之间的区别

    今天的文章讨论了Java Web开发和Python Web开发之间的区别.我不鼓励我们在这里从Java Web迁移到Python Web开发.我只是想谈谈我的感受.它不一定适合所有情况,仅供我们参考. ...

最新文章

  1. 对象类什么是面向对象(1)
  2. JavaScript控制台中的颜色
  3. python上海培训哪里比较好-python培训机构上海哪里好?
  4. dataTable.NET的column index的不同定義
  5. 句柄与指针的区别与联系
  6. Mysql(五) JDBC
  7. 第四范式受邀参加APEC“人工智能创新应用发展国际论坛”
  8. Windows8.1 64bit环境下搭建深度学习平台之CUDA安装与配置
  9. 百练 1363.Rails
  10. python怎么返回上一行代码_Python实现判断一行代码是否为注释的方法
  11. Oracle的体系结构
  12. bootstrap modal弹出框实现及实现按钮点击复制功能
  13. 哪里有深入学习Oracle的资料
  14. 学习halcon的论坛与书籍
  15. 传智播客javascript视频教程(杨中科)学习笔记
  16. 方舟无限资源服务器,方舟生存进化怎么无限资源
  17. 植物冠层部分参数的定义及含义解释
  18. 微信诈骗产业链,俩字儿是核心:杀熟
  19. 关于H5版本及说明-为什么优雅草YYC蜻蜓系统H5版本打包不成功以及相关问题
  20. Android Studio 搭建微信界面

热门文章

  1. java hashmap 去重复_为什么我在Java HashMap中得到重复的键?
  2. 软件项目实施方案_进度、预算、人员和合同变更——科研项目管理精义与实操(十五)...
  3. 扔掉工具类,Mybatis一个简单配置搞定数据加密解密!
  4. Android踩坑日记:自定义水平和圆形ProgressBar样式
  5. Android中的Service组件详解
  6. 面试问到java并发_那些面试官必问的JAVA多线程和并发面试题及回答
  7. python输出所有素数_Python实现输出某区间范围内全部素数的方法
  8. struts2自定义拦截器并配置拦截器使其生效
  9. 子查询中的空值导致的问题。
  10. L2-003 月饼-团体程序设计天梯赛GPLT