一:Flask简介
Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务,在介绍Flask之前首先来聊下它和Django的联系以及区别,django个大而全的web框架,它内置许多模块,flask是一个小而精的轻量级框架,Django功能大而全,Flask只包含基本的配置, Django的一站式解决的思路,能让开发者不用在开发之前就在选择应用的基础设施上花费大量时间。Django有模板,表单,路由,基本的数据库管理等等内建功能。与之相反,Flask只是一个内核,默认依赖于2个外部库: Jinja2 模板引擎和 WSGI工具集--Werkzeug , flask的使用特点是基本所有的工具使用都依赖于导入的形式去扩展,flask只保留了web开发的核心功能。
WSGI(web服务器网关接口)是python中用来规定web服务器如何与python Web服务器如何与Python Web程序进行沟通的标准,本质上就是一个socket服务端。而 Werkzeug模块 就是WSGI一个具体的实现
关键词:一个Python编写微web框架 一个核心两个库( Jinja2 模板引擎 和 WSGI工具集)
二:Flask的优点
flask性能上基本满足一般web开发的需求, 并且灵活性以及可扩展性上要优于其他web框架, 对各种数据库的契合度都非常高
关键词:1. 性能基本满足需求 2 .灵活性可拓展性强 3. 对各种数据库的契合度都比较高。
4.在真实的生产环境下,小项目开发快,大项目设计灵活
三:虚拟环境
1:优点
虚拟环境是隔离的Python解释器环境。通过创建虚拟环境,你可以拥有一个独立的Python解释器环境,相当于对全局的python解释器环境拷贝一份私有的副本, 这样做的好处是可以为每一个项目创建独立的Python解释器环境,因为不同的项目常常会依赖不同版本的库或Python版本。使用虚拟环境可以保持全局Python解释器环境的干净,避免包和版本的混乱,并且可以方便地区分和记录每个项目的依赖,所谓环境追根溯源也是文件,既然是文件就支持拷贝到各个平台上,所以同时提高了可移植性,以便在新环境下复现依赖环境。
举例说明:
例1:如果你同时有很多个项目,有一个爬虫项目,有一个Flask项目,有一个Django项目放在一个环境下,那么管理相关的第三方库难免混乱。
例2:如果你有两个Flask项目,但是两个项目flask版本不一致,会出现版本冲突问题
关键词:1、Python解释器的一个私有副本 2、解决了包管理混乱、版本冲突、提高了移植性
2:使用方式
(1)环境搭建
# windows的开发环境的安装过程,我们使用的是virtualenv虚拟开发环境,首先安装相关包的依赖 pip install virtualenvwrapper-win
(2)创建环境
mkvirtualenv + 虚拟环境名称
(3)常用命令
01、切换到指定的虚拟环境:注意我们进入虚拟环境是需要用workon命令,但是首次安装成功会自动进入虚拟环境。
workon + 虚拟环境名称
02、退出虚拟环境
deactivate
03、删除指定的虚拟环境
rmvirtaulenv + 虚拟环境名称
04、列出所有虚拟环境:
lsvirtualenv
05、进入到虚拟环境所在的目录:
cdvirtualenv
四:Flask使用方式
1:安装flask框架
# 安装flask框架 pip install flask
2:创建flask框架
2.1:第一步
2.2:第二步
3:文件夹解读
(1)static:存放 css js 图片等静态文件夹
(2)templates:存放html等html标签
(3)app.py:项目启动文件 app这个名字可以任意取
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()
4:启动文件代码解读
4.1
from flask import Flask app = Flask(__name__) ''' 导入我们安装好的flask包,通过flask包导入Flask类,Flask类即为Flask的核心,实例化这个Flask类的到一个实例化对象app。 __name__这个特殊的参数:Python会根据所处的模块来赋予__name__变量相应的值,对于我们的程序来说(app.py),这个值为app。 '''
4.2