Flask 一个最小的应用

2021-12-10 13:55 更新

一个最小的 Flask 应用看起来会是这样:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

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

把它保存为 hello.py (或是类似的),然后用 Python 解释器来运行。 确保你的应用文件名不是 flask.py ,因为这将与 Flask 本身冲突。

$ python hello.py
 * Running on http://127.0.0.1:5000/

现在访问 http://127.0.0.1:5000/ ,你会 看见 Hello World 问候。

那么,这段代码做了什么?

  • 首先,我们导入了 Flask 类。这个类的实例将会是我 们的 WSGI 应用程序。
  • 接下来,我们创建一个该类的实例,第一个参数是应用模块或者包的名称。 如果你使用单一的模块(如本例),你应该使用 __name__ ,因为模块 的名称将会因其作为单独应用启动还是作为模块导入而有不同( 也即是 '__main__' 或实际的导入名)。这是必须的,这样 Flask 才知道到哪去找模板、静态文件等等。详情见 Flask 的文档。
  • 然后,我们使用 route() 装饰器告诉 Flask 什么样 的URL 能触发我们的函数。
  • 这个函数的名字也在生成 URL 时被特定的函数采用,这个函数返回我们想 要显示在用户浏览器中的信息。
  • 最后我们用 run() 函数来让应用运行在本地服务器上。 其中 if __name__ == '__main__': 确保服务器只会在该脚本被 Python 解释器直接执行的时候才会运行,而不是作为模块导入的时候。
  • 欲关闭服务器,按 Ctrl+C。

    外部可访问的服务器

    如果你运行了这个服务器,你会发现它只能从你自己的计算机上访问,网络 中其它任何的地方都不能访问。在调试模式下,用户可以在你的计算机上执 行任意 Python 代码。因此,这个行为是默认的。

    如果你禁用了 debug 或信任你所在网络的用户,你可以简单修改调用 run() 的方法使你的服务器公开可用,如下:

    app.run(host='0.0.0.0')
    

    这会让操作系统监听所有公网 IP。


    以上内容是否对您有帮助:
    在线笔记
    App下载
    App下载

    扫描二维码

    下载编程狮App

    公众号
    微信公众号

    编程狮公众号