我是靠谱客的博主 优美冬瓜,最近开发中收集的这篇文章主要介绍Python flask框架教学:hello flask(干货分享)启动开发服务器运行flask最⼩的Flask程序代码逻辑更多的启动选项将参数保存到文件设置运行环境Python Shell,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

启动开发服务器

Flask内置了一个简单的开发服务器(由依赖包Werkzeug提供),足够 在开发和测试阶段使用。

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

https://space.bilibili.com/523606542

运行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_<COMMAND>_<OPTION>”

如果想不需要每次都指定,可以内容保存到当前目录下的 .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 shell
Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32
App: app [development]
Instance: C:UsersAdministratorDesktophelloflaskinstance
>>>

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

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

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

>>> app
<Flask 'app'>
>>> app.name
'app'
>>>

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

 

最后

以上就是优美冬瓜为你收集整理的Python flask框架教学:hello flask(干货分享)启动开发服务器运行flask最⼩的Flask程序代码逻辑更多的启动选项将参数保存到文件设置运行环境Python Shell的全部内容,希望文章能够帮你解决Python flask框架教学:hello flask(干货分享)启动开发服务器运行flask最⼩的Flask程序代码逻辑更多的启动选项将参数保存到文件设置运行环境Python Shell所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部