Skip to content

Flask 环境安装与配置


简介

Flask 是一个轻量级的 Web 开发框架。它是依赖 Jinja2 和 Werkzeug WSGI 服务的一个微型框架。之所以说是轻量级,是因为 Flask 框架有这两个核心的内容。其中 Jinja2 是模板引擎,Werkzeug 是路由模块。


Flask 有丰富的第三方插件,如果想实现其它的功能,都可以通过插件进行扩展。

  • 发邮件,需要使用到 Flask-mail 扩展。
  • 登录 ,需要使用到 Flask-login。
  • 操作数据库,需要使用到 SQLAlchemy。
  • 开发 REST API 风格的接口,需要使用到 Flask-RESTful 或者 flask-restx。

Flask 相关文档


学习 Flask 框架的价值

  1. 简单易用:Flask 是一个轻量级的 Python Web 框架,学习曲线相对较低,易于理解和上手。

  2. 微型轻量级:Flask 提供了一个简洁而灵活的核心框架,允许开发者根据项目需求进行自定义开发。

  3. 高度可扩展:Flask 框架支持丰富的扩展,通过安装和集成第三方插件,可以快速添加额外的功能和功能模块。无论是数据库访问、表单处理、认证和授权,还是邮件发送等,Flask 的扩展生态系统提供了众多可靠的解决方案,帮助开发者节省时间和精力。

  4. 社区活跃:Flask 拥有详细且易于理解的官方文档,以及活跃的社区支持。


应用场景

Flask 的轻量级特性使其非常适合用于小型和中型项目的开发。对于快速原型设计、个人项目或小团队开发来说,Flask 提供了足够的功能和灵活性,而无需引入过多的复杂性。

  • 小型 Web 应用:如个人博客、简单的内容管理系统(CMS)。
  • RESTful API:Flask 非常适合构建 RESTful 风格的 API,适用于微服务架构或单独的 API 服务。

Flask 环境安装

要使用 Flask 框架,需要先通过命令行 pip 工具安装 Flask。

pip install flask

最小应用

以下是一个简单的 Flask 入门示例,演示了如何创建一个基本的 Web 应用程序:

from flask import Flask

# 创建 Flask 应用程序实例
app = Flask(__name__)

# 定义路由和视图函数
@app.route("/")
def hello():
    return "Hello Flask!"

上述示例代码创建了一个最简单的 Flask 应用程序。

  1. 导入 Flask 模块:首先,我们需要导入 Flask 模块,以便使用 Flask 框架提供的功能。

  2. 创建应用程序实例:通过实例化 Flask 类并传入 __name__ 参数,我们创建了一个 Flask 应用程序的实例。__name__ 是一个特殊变量,它表示当前模块的名称。

  3. 定义路由和视图函数:使用 @app.route() 装饰器来定义路由,指定 URL 路径和对应的视图函数。在上面的示例中,我们定义了根路径 '/' 的视图函数 hello()

  4. 视图函数:视图函数是处理请求并返回响应的函数。在上面的示例中,hello() 函数返回字符串 'Hello, Flask!',它将作为浏览器中访问根路径时的响应。


Flask 运行使用

  • 代码调用
    • app.run()
  • 命令行运行
    • bash(mac/linux)
    • cmd(windows)
    • powershell(windows)

在代码中可以通过使用 app.run() 方法运行应用程序。默认情况下,应用程序会运行在本地服务器上,监听 5000 端口。

可以通过访问 http://localhost:5000/ 在浏览器中查看结果。

# 运行应用程序
if __name__ == '__main__':
    app.run()

或者也可以在命令行中启动应用程序。Flask 框架自带了一个运行工具叫做flask run,可以在项目目录下使用命令行命令flask run来启动 Flask 项目。这个命令会启动一个开发服务器,并在浏览器中打开项目页面。

启动前可以通过设定环境变量 FLASK_APP=文件名 来表示将要运行的应用是哪个,然后运行 flask run 来启动该应用。

不同的操作系统设置环境变量的命令是不同的,具体参考以下命令:

# linux/mac: 命令行运行
$ export FLASK_APP=hello
$ flask run

# windows: 命令运行
> set FLASK_APP=hello
> flask run

总结

  • 学习价值
  • 环境安装
  • 最小应用开发
  • 运行使用