Python Web轻量级框架 Flask 入门
1 Flask 概述
根据百度百科的定义,Flask 是一个Python语言构建的轻量级可定制Web框架,它具有灵活、轻便、安全且容易上手的特点,因此,在构建中小型Web应用中,非常受欢迎,Flask采用 BSD 授权,它可以很好地结合MVC模式进行开发,小型团队可以在短时间内就可以完成功能丰富的网站或Web服务。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能。
虽然Python的Web框架有很多,如Flask,Django和Web2py等,其中Diango是目前Python的框架中使用度最高的,它多被用于大型网站的开发,但对于大多数的小型网站的开发,使用Flask就可以满足,加上Flask框架有很好的扩展性,因此,它在Python Web开发过程中,是一个非常好的选择。
Flask主要包括Werkzeug和Jinja2两个核心函数库,它们分别负责业务处理和安全方面的功能,这些基础函数为web项目开发过程提供了丰富的基础组件。前者Werkzeug库功能非常强大,支持URL路由请求集成,一次可以响应多个用户的访问请求;支持Cookie和会话管理,通过身份缓存数据建立长久连接关系,并提高用户访问速度;支持交互式Javascript调试等。而Jinja2库支持自动HTML转移功能,能够很好控制外部黑客的脚本攻击。
2 Flask 安装
Flask安装过程非常简单,但是首先需要成功安装Python环境和pip环境,我这里安装的是Python3.8,在命令行中用如下命令即可完成安装:
pip install Flask
或
pip3 install Flask
另外,我们需要一个IDE进行代码的开发,这里有多种选择,我这里安装的是Visual Studio Code ,它是微软推出的一款轻量级的开源跨平台开发工具,安装包总体非常小,但是可以通过插件支持非常多的特征,比如Python 、 Java 、C# 、C++ 、HTML、 JS和CSS等语言的开发。Visual Studio Code界面非常的清爽,且颜值非常高,主题也多,可以自由下载,并根据自己的喜好进行配置。下面给出一段代码的高亮示意图:
3 Flask 快速入门
下面用Visual Studio Code进行Flask Web应用的开发,首先新建一个工作目录,即文件夹,我这里文件夹名称为Flask_demo,然后用Visual Studio Code打开此目录,并在此目录下进行代码的编写,首先给出一个基本的Hello World示例,代码如下所示:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello Flask'
# @app.route('/ver')
def get_version():
return 'v1.0'
if __name__ == '__main__':
app.add_url_rule('/ver',"", get_version)
app.debug = True
app.run(host = "0.0.0.0",port = 5001)
其中 from flask import Flask 首先需要导入Flask模块,然后用 app = Flask(__name__) 生成一个应用app对象。Flask中的后台服务本质就是一个函数,可以用def关键字进行定义,并可以通过@app.route('路由规则')进行绑定,这里需要注意的是,定义的函数如果绑定到@app.route上,则返回值一般只能是字符串或者是一个可识别的类型,而不能是整形int等,否则会报错。
另外,路由绑定还可以通过 app.add_url_rule('/ver',"", get_version) 完成,第一个参数是路由规则,第二个是一个字符串endpoint,可以为空,第三个参数是一个函数名,代表路由绑定的函数。应用app对象在启动时,还可以配置监听的host地址(默认为127.0.0.1,外部不能访问),端口port(默认为5000)以及是否开启调试模式,app.debug = True 则说明开启调试模式,他在文件变化后,会自动进行重启,这样可以更加方便的完成调试工作。但是这个在生产环境下是需要关闭的。另外,生产环境需要部署配置,比如安装mod_wsgi组件,它是Apache的一个模块,提供了一个WSGI兼容的接口,用于在Apache服务器上托管基于Python的Web应用程序。app.run则启动服务,用python index.py 执行,这样就可以在浏览器中进行预览了。启动环节如下所示:
打开浏览器,输入网址 http://192.168.0.107:5001 ,界面如下所示:
输入网址 http://192.168.0.107:5001/ver ,界面如下所示:
由此可见,Flask开发的Python后台服务是可以运行的,当然了,Flask还可以与Html页面进行交互,以完成更加复杂的功能。
- 点赞
- 收藏
- 关注作者
评论(0)