一、django组件

  • socket-------无,使用wsgi
  • 中间件
  • 路由系统
  • 视图
  • 模板引擎
  • 模板语言
  • cookie
  • session
  • csrf
  • xss
  • 缓存
  • 信号
  • Form
  • Admin
  • ORM

二、tornado组件

  • socket-------有,自带
  • 中间件-------无
  • 路由系统
  • 视图
  • 模板引擎
  • 模板语言--------有,uimethod,uimodule
  • cookie
  • session-------无
  • csrf
  • xss
  • 缓存-------无
  • 信号-------无
  • Form-------无
  • Admin-------无
  • ORM-------无

2.1 程序启动

 1 import tornado.ioloop
 2 import tornado.web
 3 from settings import SETTINGS
 4 from views import login
 5
 6
 7 application = tornado.web.Application([
 8     (r"/login", login.LoginHandler),
 9     (r"/index", login.IndexHandler),
10 ],**SETTINGS
11 )
12
13
14 if __name__ == "__main__":
15     application.listen(8888)
16     tornado.ioloop.IOLoop.instance().start()

2.2 路由系统

application = tornado.web.Application([(r"/login", login.LoginHandler,{要传给视图的函数},反向生成urlname),(r"/index", login.IndexHandler),
],**SETTINGS
)

2.3 视图函数

class LoginHandler(RequestHandler):def get(self, *args, **kwargs):self.render("login.html",msg="")self的方法

self.application.reverse_url("name","arg1")
#反向生成url

self.write()self.render("login.html",msg="用户名或密码错误")self.redirect()

self.get_argument()    #取get和post里的数据
self.get_query_argument()    #取get里的数据
self.get_body_argument()    #取post里的数据

#####cookie#######self.set_cookie()self.set_secure_cookie()     配置里"cookie_sercet":"salt..."

2.4 配置文件

settings = {"template_path":"template",        #模板路径"static_path":"static",                  #静态文件路径"static_url_prefix":"/static/"
}

2.5 xsrf

{%raw xsrf_form_html()%}配置里"xsrf_cookies":True

2.6  模板语言

{%for item in user_list%}{{item["user"]}}
{%end%}#######引入css、js文件########
<link rel="stylesheet" href="{{ static_url('common.css') }}">

三、flask组件

  • socket-------无
  • 中间件
  • 路由系统
  • 视图
  • 模板引擎
  • 模板语言
  • cookie
  • session------有,但使用的是加密cookie,保存在客户端
  • csrf
  • xss
  • 缓存
  • 信号-------无
  • Form-------无,有扩展插件WTForms
  • Admin-------无
  • ORM-------无

3.1 基本使用

from flask import Flask
app = Flask(__name__)@app.route('/')
def hello_world():return 'Hello World!'if __name__ == '__main__':app.run()

3.2 中间件

app.secret_key = 'some_secret'
#加密cookie设置

app.wsgi_app = MiddleWare(app.wsgi_app)
#指向新定义的类class MiddleWare:def __init__(self,wsgi_app):self.wsgi_app = wsgi_appdef __call__(self, *args, **kwargs):return self.wsgi_app(*args, **kwargs)
#自定义的类,在传给视图函数前执行

3.3 路由系统

1、装饰器
@app.route('/user/<username>')DEFAULT_CONVERTERS = {'default':          UnicodeConverter,'string':           UnicodeConverter,'any':              AnyConverter,'path':             PathConverter,'int':              IntegerConverter,'float':            FloatConverter,'uuid':             UUIDConverter,
}2、app.add_url_rule("/index",view_func=func1,endpoint="reverse_name",method=[]
)

蓝图路由分发蓝图URL前缀:xxx = Blueprint('account', __name__,url_prefix='/xxx'
)蓝图子域名:xxx = Blueprint('account', __name__,subdomain='admin'
)
# 前提需要给配置SERVER_NAME:app.config['SERVER_NAME'] = 'baidu.com'

3.4 session

设置:session['username'] = 'xxx'删除:session.pop('username', None)
app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'

message是一个基于Session实现的用于保存数据的集合,其特点是:使用一次就删除。

3.5 请求相关信息

请求相关信息request.methodrequest.argsrequest.formrequest.valuesrequest.cookiesrequest.headersrequest.pathrequest.full_pathrequest.script_rootrequest.urlrequest.base_urlrequest.url_rootrequest.host_urlrequest.hostrequest.filesobj = request.files['the_file_name']obj.save('/var/www/uploads/'+secure_filename(f.filename))响应相关信息return "字符串"return render_template('html模板路径',**{})return redirect('/index.html')response = make_response(render_template('index.html'))# response是flask.wrappers.Response类型# response.delete_cookie('key')# response.set_cookie('key', 'value')# response.headers['X-Something'] = 'A value'# return response

3.6 配置文件

app.config.from_pyfile("settings.py")

转载于:https://www.cnblogs.com/igzh/p/9015165.html

django、tornado、flask对比相关推荐

  1. Flask/Django/Tornado语法对比(持续更新中)

    表格如下[1](加入了一些自己想到的补充):   Flask Django Tornado 请求方式限定 @app.route('/login/', methods=['GET','POST']) @ ...

  2. python twisted和flask_浅谈Python Web 框架:Django, Twisted, Tornado, Flask, Cyclone 和 Pyramid...

    Django 是一个高级的 Python Web 框架,支持快速开发,简洁.实用的设计.如果你正在建一个和电子商务网站相似的应用,那你应该选择用 Django 框架.它能使你快速完成工作,也不必担心太 ...

  3. Django、Flask、Tornado的区别

    Django.Flask.Tornado的区别? Django:Python 界最全能的 web 开发框架,battery-include 各种功能完备,可维护性和开发速度一级棒.常有人说 Djang ...

  4. Python web后端开发框架 Django 、Flask、Tornado

    由于Python的简洁 易读 强大 高效  现在Python应用在文件处理.网络编程.数据库编程.游戏.Web开发.数据分析.机器学习等各个领域. 就Web开发而言,为了提高开发效率,应运而生了很多框 ...

  5. Python 里最强的Web框架,早就不是Django和Flask了

    来自:掘金,作者:ConnorZhang 链接:https://juejin.cn/post/6944598601674784775 如果说要用 Python 进行 web 开发,我想你一定会告诉我 ...

  6. django restframework 下载文件_【技术选型】Django还是Flask?这是个问题!

    Django和Flask,是Python语言在WEB开发领域中占据了半壁江山的两个框架.在我们实际开发过程中,如何从这两者之间二选一呢? 01 半壁江山的两个WEB框架 在2019年Python官方年 ...

  7. bert中文短文本句向量生成、相似度计算(GPU版、windows、win10、linux、django和flask可用)

    BERT句向量GPU线上调用等.出现Floating point exception and SystemError: error return without exception set . 最近上 ...

  8. 关于Django、Flask的一些面试知识点

    Django 1.Django. Flask.Tornado框架的比较? Django: 对于Django,大而全的框架它的内部组件比较多,内部提供:ORM.Admin.中间件.Form.ModelF ...

  9. python flask与django的区别_真正搞明白Python中Django和Flask框架的区别

    Django和Flask的区别 1.形象类比 如果Django类似于精装修的房子,自带豪华家具.非常齐全功能强大的家电,什么都有了,拎包入住即可,十分方便. 而Flask类似于毛坯房,自己想把房子装修 ...

  10. python flask和django_真正搞明白Python中Django和Flask框架的区别

    在谈Python中Django框架和Flask框架的区别之前,我们需要先探讨如下几个问题. 一.为什么要使用框架? 为了更好地阐述这个问题,我们把开发一个应用的过程进行类比,往往开发一个应用(web应 ...

最新文章

  1. 连续发表三篇NAR的数据库文章——数据库承建
  2. LeetCode 5 最长回文子串
  3. 掌握这些 Redis 技巧,百亿数据量不在话下!
  4. Python 一键导出微信阅读记录和笔记,666!
  5. 好大夫王航:长尾开发者应尽快接入百度轻应用
  6. 再拔头筹,FusionInsight为华为云大数据打造硬实力
  7. JS实现新打开网页最大化or全屏显示
  8. python 计算机程序设计-计算机程序设计(Python)
  9. android 下载网络图片并缓存
  10. 在线教学战“疫”打响,VIPKID背后是阿里云
  11. 最新布尔教育Blog项目实战 php博客项目实战教程 php实战教程(完整)
  12. 英雄联盟php文件,英雄联盟-QQ网吧游戏特权-QQ网吧
  13. V-REP仿真环境的简单应用及RemoteAPI控制
  14. linux 如何配置无线网卡驱动,Linux配置无线网卡驱动实现无线上网
  15. 本地网络出现了一个意外的情况,不能完成所有你在设置中所要求的更改
  16. python画笛卡尔心形线_伊对:学霸如何谈恋爱?揭秘不同专业的学霸表白方式
  17. 我的世界rpg服务器无限点卷无限金币地址,我的世界RPG插件无限刷任何物品 | 手游网游页游攻略大全...
  18. python 学习爬取哔哩哔哩今日热门的前100个视频
  19. 专插本 计算机基础与程序设计 2020届考生纯手敲 C语言与数据结构学习中遇到的所有问题都在这里了,建议直接三连
  20. 学习编程的基础(学编程的基础要具备什么)

热门文章

  1. 利用 Logstash-input-jdbc同步sqlserver数据到elasticsearch
  2. Baseball Game
  3. 编程中、遇到问题、bug多思考
  4. PHP面试题 - MySQL数据库
  5. c#使用XSLT将xml文档转换为html文档
  6. (转) 穿越NAT总结
  7. python opencv 鼠标提取矩形(Rectangle)ROI
  8. Voxengo音频插件合集:Voxengo Total Bundle for Mac
  9. ConceptDraw使用Rapid Draw简化流程图教程指南
  10. CodeForces - 95C Volleyball(建边+dij)