前言:

Django:1个重武器,包含了web开发中常用的功能、组件的框架;(ORM、Session、Form、Admin、分页、中间件、信号、缓存、ContenType....);

Tornado:2大特性就是异步非阻塞、原生支持WebSocket协议

Flask:封装功能不及Django完善性能不及Tornado,但是Flask的第三方开源组件比丰富http://flask.pocoo.org/extensions/

Bottle:比较简单;

 

总结:

都不是我写的!!!不论优劣,不同的工具而已;

小型web应用设计的功能点不多使用Flask;

大型web应用设计的功能点比较多使用的组件也会比较多,使用Django(自带功能多不用去找插件);

如果追求性能可以考虑Tornado;

 

Flask的socket是基于Werkzeug 实现的,模板语言依赖jinja2模板,在使用Flask之前需要安装一下;

pip3 install flask #安装flask
@Request.application def hellow(request):return Response('Hello World') if__name__ == '__main__':from werkzeug.serving import run_simple run_simple('localhost',400,hellow)
werkzeug

 

Flask简单使用

Flask app=Flask(__name__) #创建1个Flask实例@app.route('/') #路由系统生成 视图对应url,1. decorator=app.route() 2. decorator(first_flask)def first_flask(): #视图函数return'Hello World'#response if__name__ == '__main__': app.run() #启动socket
View Code

 

 

一、配置文件

 

app=Flask(__name__,template_folder='templates',static_url_path='/static/',static_path='/zhanggen')

模板路径: template_folder='templates'

静态文件路径:static_url_path='/static/'

静态文件引入别名:static_path='/zhanggen'

设置为调试环境:app.debug=True (代码修改自动更新)

设置json编码格式 如果为False 就不使用ascii编码:app.config['JSON_AS_ASCII']=False 

设置响应头信息Content-Type   app.config['JSONIFY_MIMETYPE'] ="application/json;charset=utf-8"  (注意 ;charset=utf-8)

 

二、路由系统

 

1.动态路由(url传参)

@app.route('/user/<name>')

Flask app=Flask(__name__) @app.route('/<name>') #设置url传参数 http://127.0.0.1:5000/zhanggendef first_flask(name): #视图必须有对应接收参数print(name)return'Hello World'#response if__name__ == '__main__': app.run()
接收字符串类型参数

相关文章: