Flask框架介绍

1.什么是Flask框架

Flask 本是作者 Armin Ronacher在2010年4月1日的一个愚人节玩笑 ,不过后来大受欢迎,进而成为一个正式的python编写的web框架

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工具集)

2.为什么要有Flask框架

flask性能上基本满足一般web开发的需求, 并且灵活性以及可扩展性上要优于其他web框架, 对各种数据库的契合度都非常高

关键词:1. 性能基本满足需求 2 .灵活性可拓展性强 3. 对各种数据库的契合度都比较高。

​ 4.在真实的生产环境下,小项目开发快,大项目设计灵活

3.虚拟环境

3.1什么是虚拟环境

虚拟环境是隔离的Python解释器环境。通过创建虚拟环境,你可以拥有一个独立的Python解释器环境,相当于对全局的python解释器环境拷贝一份私有的副本, 这样做的好处是可以为每一个项目创建独立的Python解释器环境,因为不同的项目常常会依赖不同版本的库或Python版本。使用虚拟环境可以保持全局Python解释器环境的干净,避免包和版本的混乱,并且可以方便地区分和记录每个项目的依赖,所谓环境追根溯源也是文件,既然是文件就支持拷贝到各个平台上,所以同时提高了可移植性,以便在新环境下复现依赖环境。

举例说明:

例1:如果你同时有很多个项目,有一个爬虫项目,有一个Flask项目,有一个Django项目放在一个环境下,那么管理相关的第三方库难免混乱。

例2:如果你有两个Flask项目,但是两个项目flask版本不一致,会出现版本冲突问题

关键词:1、Python解释器的一个私有副本 2、解决了包管理混乱、版本冲突、提高了移植性

3.2虚拟环境的搭建

windows的开发环境的安装过程,我们使用的是virtualenv虚拟开发环境,首先安装相关包的依赖

pip install virtualenvwrapper-win

利用安装好的模块我们创建一个虚拟环境

##注意:这个‘’first_01_env‘’ 是我们自己给虚拟环境取的名字,并且要记录一下图(1)的安装路径,一会我们需要使用。

mkvirtualenv first_01_env  

虚拟环境其他相关命令:
01、切换到指定的虚拟环境:注意我们进入虚拟环境是需要用workon命令,但是首次安装成功会自动进入虚拟环境。

workon first_01_env

02、退出虚拟环境

deactivate

03、删除指定的虚拟环境

rmvirtaulenv first_01_env

04、列出所有虚拟环境:

lsvirtualenv

05、进入到虚拟环境所在的目录:

cdvirtualenv

3.3在虚拟环境中安装Flask模块

pip3 install flask

从上面成功安装的输出内容可以看出,除了Flask包外,同时被安装的还有5个依赖包,它们的主要介绍如表(1-1)所示。

包名及版本功能
Jinja2-2.10 渲染模板引擎工具集
MarkupSafe-1.1.0 可以识别HTML转义规则。HTML字符转义工具集
Werkzeug-0.14.1 Web 框架的底层库,提供了请求及响应以及开发服务器的功能,简称WSGI工具集
click-7.0 命令行工具集
itsdangerous-1.1.0 加密工具集

4.创建Flask环境

4.1解读Flask程序

项目目录详解​

“static文件夹”用于存放各种静态文件 css、js、图片等等

​ “templates文件夹”用于存放html模板文件

​ “app.py”为我们的主文件 ,启动项目需要启动该文件

​ 注意 app.py 文件的名字我们可以自由命名,但是除了flask.py 这种和Flask库相冲突的名字

主文件app.py文件代码

from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run()
原文地址:https://www.cnblogs.com/xiongying4/p/12544666.html