千家信息网

Python flask框架怎么使用

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,本篇内容介绍了"Python flask框架怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!运
千家信息网最后更新 2024年11月23日Python flask框架怎么使用

本篇内容介绍了"Python flask框架怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

运行flask

Flask 通过依赖包 Click内置了一个CLI(Command Line Interface,命令行交互界面)系统。当我们安装Flask后,会自动添加一个flask命令脚本, 我们可以通过flask命令执行内置命令、扩展提供的命令或是我们自己定义 的命令。其中,flask run命令用来启动内置的开发服务器:

(helloflask)  $ flask run * Environment: production   WARNING: This is a development server. Do not use it in a production deployment.   Use a production WSGI server instead. * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

确保执行命令前激活了虚拟环境(pipenv shell),否则需要使用 pipenv run flask run命令启动开发服务器。后面将不再提示。

flask run命令运行的开发服务器默认会监听 http://127.0.0.1:5000/ 地址 (按Crtl+C退出),并开启多线程⽀持。当我们打开浏览器访问这个地址时,会看到⽹页上显示"Hello,flask!"

localhost与127.0.0.1

  • http://127.0.0.1 即 localhost ,是指向本地机的IP地址,一般用来测试。

  • Flask默认使用5000端口,上面的地址可以使 用http://localhost:5000/ 。

  • 除了地址不同外, 两者没有实际区别,即域名和IP地址的映射关系。

最⼩的Flask程序

from flask import Flask  # ⑴app = Flask(__name__)  # ⑵@app.route('/')  # ⑶def index():  # ⑷    return 'Hello flask !'  # ⑸if __name__ == '__main__':    app.run()  # ⑹

启动服务之后,就可以在浏览器中访问了。整个请求的处理过程如下所示:

  1. 当用户在浏览器地址栏访问这个地址,在这里即 http://127.0.0.1:5000/

  2. 服务器解析请求,发现请求 URL 匹配的 URL 规则是 /,因此调用对应的处理函数 hello()

  3. 获取 hello() 函数的返回值,处理后返回给客户端(浏览器)

  4. 浏览器接受响应,将其显示在窗口上

代码逻辑

⑴ 首先我们从 flask 包导入 Flask 类

from flask import Flask  # ⑴

⑵ 通过实例化这个类,创建一个程序对象 app:

app = Flask(__name__)  # ⑵

⑶ 使用 app.route() 装饰器将函数绑定对应的 URL,当用户在浏览器访问这个 URL 的时候,就会触发这个函数,获取返回值,并把返回值显示到浏览器窗口。

⑷ 装饰器注册的处理函数,这个函数是处理某个请求的处理函数,Flask 官方把它叫做视图函数(view funciton)!你可以理解为 请求处理函数

⑸ 返回响应内容

# 填入 app.route() 装饰器的第一个参数是 URL 规则字符串,这里的 / 指的是根地址。@app.route('/')  # ⑶def index():  # ⑷    return 'Hello flask !'  # ⑸

⑹ Flask应用程序实例的 run 方法启动 WEB 服务器

if __name__ == '__main__':    app.run()  # ⑹

更多的启动选项

使服务器外部可见

我们在上面启动的Web服务器默认是对外不可见的,可以在run命令后 添加--host选项将主机地址设为0.0.0.0使其对外可见:

$ flask run --host=0.0.0.0

这会让服务器监听所有外部请求。个人计算机(主机)一般没有公⽹ IP(公有地址),所以你的程序只能被局域⽹内的其他用户通过你的个人 计算机的内⽹IP(私有地址)访问,比如你的内⽹IP为192.168.191.1。当局域⽹内的其他用户访问http://192.168.191.1:5000 时,也会看到浏览器里 显示一行"Hello,Flask!"。

改变默认端口

Flask提供的Web服务器默认监听5000端口,你可以在启动时传入参数来改变它:

$ flask run --port=8000

这时服务器会监听来自8000端口的请求,程序的主页地址也相应变成 了http://localhost:8000/ 。

将参数保存到文件

执行 flask run 命令时的 host 和 port 选项也可以通过环境变量 FLASK_RUN_HOST 和 FLASK_RUN_PORT 设置。事实上,Flask内置的命令都可以使用这种模式定义默认选项值, 即"FLASK__

如果想不需要每次都指定,可以内容保存到当前目录下的 .flaskenv 或者是 .env 文件中(需要安装 python-dotenv )。

# 一些 flask 内置命令# 需要提前安装 python-dotenv FLASK_ENV=development       # 设置当前开发模式FLASK_RUN_PORT = 5050       # 设置运行的端口FLASK_RUN_HOST = 0.0.0.0    # 设置监听的 ip

也可以使用 flask --help 命令查看所有可用的命令。

设置运行环境

开发环境(development enviroment)和生产环境(production enviroment)是我们后面会频繁接触到的概念。开发环境是指我们在本地 编写和测试程序时的计算机环境,而生产环境与开发环境相对,它指的是 ⽹站部署上线供用户访问时的服务器环境

根据运行环境的不同,Flask程序、扩展以及其他程序会改变相应的行 为和设置。为了区分程序运行环境,Flask提供了一个FLASK_ENV环境变 量用来设置环境,默认为 production(生产)。在开发时,我们可以将其设 为development(开发),这会开启所有⽀持开发的特性。为了方便管理, 我们将把环境变量 FLASK_ENV 的值写入 .flaskenv 文件中:

FLASK_ENV=development

现在启动程序,你会看到下面的输出提示:

(helloflask) $ flask run * Environment: development * Debug mode: on * Restarting with stat * Debugger is active! * Debugger PIN: 161-372-375 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Python Shell

有许多操作需要在Python Shell(即Python交互式解释器)里执 行。在开发Flask程序时,我们并不会直接使用python命令启动Python Shell,而是使用flask shell命令:

(helloflask) $ flask shellPython 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32App: app [development]Instance: C:\Users\Administrator\Desktop\helloflask\instance>>>

和其他 flask 命令相同,执行这个命令前我们要确保程序实例可以被正常找到。

如果代码⽚段前的提示符为三个大于号,即">>>",那么就表示这些代码需要在使用flask shell命令打开的Python Shell中执行。

使用flask shell命令打开的Python Shell自动包含程序上下文,并且已经导入了app实例:

>>> app>>> app.name'app'>>>

上下文(context)可以理解为环境。为了正常运行程序,一些操作相关的状态和数据需要被临时保存下来,这些状态和数据被统称为上下文。在Flask中,上下文有两种,分别为程序上下文和请求上下文。

"Python flask框架怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

命令 环境 程序 地址 服务 服务器 开发 函数 浏览器 浏览 处理 运行 上下 上下文 用户 端口 监听 内容 实例 参数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 创新互联网科技banner 软件开发服务的经营范围 上海宝山区软件开发公司 广东省轻钢设备生产系统软件开发 ps5安全模式重建数据库多久 中国中西药数据库检索方式 ucsc数据库储存了什么 数据库学生二维表结构 caj文件由哪些数据库提供 用友u8登录数据库服务器 软件开发助理工程师干什么 用友数据库清除工具 canvas用什么软件开发 宁波计算机网络技术收费标准 南京网络安全公司要招聘人才吗 学校网络安全关键字 服务器网络地址怎么填 sql查询结果生成数据库 数据库无法创建表格是什么错误 梦幻西游周边服务器是电脑主机嘛 多服务器session共享方案 网络安全进校园字体图片 企业信息系统网络安全防御能力 网络安全面临着新的挑战 苏州网络技术咨询联系人 明优网络技术有限公司 若关系数据库二维表 网络安全技术ppt 数据库的主要任务是啥 网络安全的手抄报要写什么内容
0