Flask框架【一】—Flask介绍和安装使用
1.什么是Flask
Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器。
“微”(micro) 并不表示你需要把整个 Web 应用塞进单个 Python 文件(虽然确实可以 ),也不意味着 Flask 在功能上有所欠缺。微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。
Flask 不会替你做出太多决策——比如使用何种数据库。而那些 Flask 所选择的——比如使用何种模板引擎——则很容易替换。除此之外的一切都由可由你掌握。如此,Flask 可以与您珠联璧合。
默认情况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库可以胜任的功能。然而,Flask 支持用扩展来给应用添加这些功能,如同是 Flask 本身实现的一样。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。
2.主流框架的比较
目前阶段,在市面上主流的web框架,就是Django、Tornado、Flask。
Django我们之前是学过的,tornado的话,还有接触到,这里就大概描述一下。
Django
主要特点:大而全,集成了很多组件,例如: Models Admin Form 等等, 不管你用得到用不到,反正它全都有,属于全能型框架。
Tornado
主要特点:原生异步非阻塞,在IO密集型应用和多任务处理上占据绝对性的优势,属于专注型框架。
Flask
主要特点:小而轻,原生组件几乎为0, 三方提供的组件请参考Django 非常全面,属于短小精悍型框架。
二、Flask安装和简单使用
1.安装
1.通过pip3安装Flask
pip3 install Flask
2.通过pycharm安装
settings-interpreter中搜索flask安装
2.关于werkzeug模块
在django中通过wsgiref模块实现了wsgi协议,而在flask中,这一部分被封装在werkzeug中。
from werkzeug.wrappers import Request, Response @Request.application def hello(request): return Response('Hello World!') if __name__ == '__main__': from werkzeug.serving import run_simple run_simple('localhost', 4000, hello)
3.简单的Flask项目
我们新建一个Flask-Project项目,实现最简单的HelloWorld页面。
在项目路径下,新建flask01.py
from flask import Flask app = Flask(__name__) # 指定项目文件名字,也就是一个应用 # 定义路由匹配 @app.route("/") def hello_world(): return "Hello Flask" # 与django中的HttpResponse一样 if __name__ == '__main__': app.run() # 运行项目
运行项目
* Debug mode: off # debug模式关闭 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
访问http://127.0.0.1:5000/浏览器页面出现Hello World