Django Tornado区别

Django

Django请求流程

      1.用户通过浏览器发送请求

      2.请求到达request中间件,中间件对request请求做预处理或者直接返回response

      3.若未返回response,会到达urlconf路由,找到对应视图函数

      4.视图函数做相应预处理或直接返回response

      5.View中的方法可以选择性的通过Models访问底层的数据

      6.取到相应数据后回到django模板系统,templates通过filter或tags把数据渲染到模板上

      7.返回response到浏览器展示给客户

      上述流程中最主要的几个部分分别是:Middleware(中间件,包括request, view, exception, response),URLConf(url映射关系),Template(模板系统


注重高效开发

全自动化的管理后台(只需要使用起ORM,做简单的定义,就能自动生成数据库结构,全功能的管理后台)

session功能

django的优点在于 大和全 ,orm,template,view 都自带了。需要的功能也可以去找第三方的app。  缺点嘛也就是自身的一些缺点,template不怎么好用,数据库用nosql不方便等。

Tornado

注重性能优越,速度快

解决高并发

异步非阻塞

websockets 长连接

内嵌了HTTP服务器

单线程的异步网络程序,默认启动时根据CPU数量运行多个实例;利用CPU多核的优势。

tornado的模板感觉更简单点。而且请求处理是基于回调的非阻塞调用,这样能提高并发量。 模板和数据库部分有很多第三方的模块可供选择,这样不利于封装为一个功能模块。缺点倒也不至于,因为本来就打算成为一个轻量级的框架吧

1.要性能, Tornado 首选;要开发速度,Django 和 Flask 都行,区别是 Flask 把许多功能交给第三方库去完成了,因此 Flask 更为灵活。

2.Tornado实现了异步机制,Django没有。

3.Django适合初学者或者小团队,Tornado适合高度定制。



Django是基于python的web框架,直接使用了WSGI,

用于创建模型的对象关系映射(orm), URL 设计,正则匹配网址,

缓存系统,与memcached或其它的缓存系统联用,更出色的表现,更快的加载速度。

架构设计:django是一个基于MVC构造的框架,即模型model,视图view和控制器controller。

django 里更关注的是模型model、模板template和视图views,称为 MTV模式。

模型model:数据存储层。处理与数据相关的事物。

视图views:表现层。定义一些方法,处理业务逻辑,如何在前端页面进行数据显示。

模板template:业务逻辑层。模型与模板的桥梁。

高内聚,低耦合

    高内聚:一个模块内部一个功能

    低耦合:每个模块各司其职,尽量零关联。

如果是正式启动的新项目,建议用 django 1.11

django-admin startproject test1

python manage.py startapp booktest

python manage.py makemigrations

python manage.py migrate

1.1.3.6测试数据操作  python manage.py shell

python manage.py runserver ip:port

python manage.py createsuperuser,按提示输入用户名、邮箱、密码

Orm的理解:

ORM是“对象-关系-映射”的简称,

1.根据对象的类型生成表结构

2.将对象、列表的操作,转换为sql语句

3.将sql查询到的结果转换为对象、列表

在站点的 __init__.py 文件中添加

import pymysql

pymysql.install_as_MySQLdb()

4.属性命名限制

a)不能是python的保留关键字

b)由于django的查询方式,不允许使用连续的下划线

关系的类型包括:

1.ForeignKey:一对多,将字段定义在多的端中

2.ManyToManyField:多对多,将字段定义在两端中

3.OneToOneField:一对一,将字段定义在任意一端中

用一访问多:对象.模型类小写_set

    bookinfo.heroinfo_set

用一访问一:对象.模型类小写

    heroinfo.bookinfo

访问id:对象.属性_id

    heroinfo.book_id

1.2.4模型查询 :

    a)查询集

    b)字段查询:比较运算符,F对象,Q对象

8.查询集的缓存

    构成了两个查询集,无法重用缓存

    两次循环使用同一个查询集,第二次使用缓存中的数据

自链接

class AreaInfo(models.Model):

    atitle = models.CharField(max_length=20)

    aParent = models.ForeignKey('self', null=True, blank=True)

上级对象:area.aParent

下级对象:area.areainfo_set.all()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,492评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,048评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,927评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,293评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,309评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,024评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,638评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,546评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,073评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,188评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,321评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,998评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,678评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,186评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,303评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,663评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,330评论 2 358

推荐阅读更多精彩内容