前言
Flask是由python开发的轻量的web框架,小巧,灵活,一个脚本就可以启动一个web项目,上手非常容易。
Flask 和 Django 框架对比
Flask是由 python 开发的轻量的web 微框架,“微”并不代表整个应用只能塞在一个 Python 文件内,当然塞在单一文件内也 没有问题。 “微”也不代表 Flask 功能不强。微框架中的“微”字表示 Flask 的目标是保持核心简单而又可扩展。 Flask 不会替你做出许多决定,比如选用何 种数据库。类似的决定,如使用何种模板引擎,是非常容易改变的。Flask 可以 变成你任何想要的东西,一切恰到好处,由你做主。
官网教程地址https://dormousehole.readthedocs.io/en/latest/index.html
环境准备
Flask 支持 Python 3.7 以上版本。本教程系列使用python3.8 的版本为示例。
使用pycharm 新增项目 File-New Project ,创建一个虚拟环境
打开Terminal 终端,使用pip 安装flask
pip install Flask
目前Flask 最新版本的v2.2.2
安装完成后会自动安装几个依赖包
当安装 Flask 时,以下配套软件会被自动安装。
先写一个最简单的“hello world”程序开始
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
那么,这些代码是什么意思呢?
__name__
是一个适用于大多数情况的快捷方式。
有了这个参数, Flask 才能知道在哪里可以找到模板和静态文件等东西。把它保存为 hello.py 或其他类似名称。请不要使用 flask.py 作为应用名称,这会与 Flask 本身发生冲突。
可以使用 flask 命令或者 python 的 -m 开关来运行这个应 用。在运行应用之前,需要在终端里导出 FLASK_APP 环境变量:
作为一个捷径,如果文件名为 app.py 或者 wsgi.py ,那么您不 需要设置 FLASK_APP 环境变量。详见 命令行接口https://dormousehole.readthedocs.io/en/latest/cli.html 。
这样就启动了一个非常简单的内建的服务器。这个服务器用于测试应该是足够了, 但是用于生产可能是不够的。 启动后看到有个WARNING警告:仅用于开发环境的启动服务,生成环境部署需用的WSGI 服务
(venv) D:\demo\xuexi_flask>flask run
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI s
erver instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
启动后,浏览器输入:http://127.0.0.1:5000
就可以看到页面内容“hello world”
在一些老的教程中会看到在代码中加app.run()
,运行当前脚本也可以启动服务
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
if __name__ == '__main__':
app.run()
2022年第 12期《python接口web自动化+测试开发》课程,9月17号开学!
本期上课时间:2022年9月17号 - 2022年12月17号,周六周日上午9:00-11:00