Python Web轻量级框架 Flask 入门

举报
jackwangcumt 发表于 2021/12/04 21:55:30 2021/12/04
【摘要】 Python的Web框架有很多,如Flask,Django和Web2py等,其中Diango是目前Python的框架中使用度最高的,它多被用于大型网站的开发,但对于大多数的小型网站的开发,使用Flask就可以满足,加上Flask框架有很好的扩展性,因此,它在Python Web开发过程中,是一个非常好的选择。

1 Flask 概述


       根据百度百科的定义,Flask 是一个Python语言构建的轻量级可定制Web框架,它具有灵活、轻便、安全且容易上手的特点,因此,在构建中小型Web应用中,非常受欢迎,Flask采用 BSD 授权,它可以很好地结合MVC模式进行开发,小型团队可以在短时间内就可以完成功能丰富的网站或Web服务。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能。

      虽然Python的Web框架有很多,如Flask,Django和Web2py等,其中Diango是目前Python的框架中使用度最高的,它多被用于大型网站的开发,但对于大多数的小型网站的开发,使用Flask就可以满足,加上Flask框架有很好的扩展性,因此,它在Python Web开发过程中,是一个非常好的选择。

     Flask主要包括WerkzeugJinja2两个核心函数库,它们分别负责业务处理和安全方面的功能,这些基础函数为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界面非常的清爽,且颜值非常高,主题也多,可以自由下载,并根据自己的喜好进行配置。下面给出一段代码的高亮示意图:

1.jpg

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 执行,这样就可以在浏览器中进行预览了。启动环节如下所示:

2.jpg
    打开浏览器,输入网址 http://192.168.0.107:5001 ,界面如下所示:

3.jpg
输入网址 http://192.168.0.107:5001/ver  ,界面如下所示:

5.jpg
由此可见,Flask开发的Python后台服务是可以运行的,当然了,Flask还可以与Html页面进行交互,以完成更加复杂的功能。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。