鱼C论坛

 找回密码
 立即注册
查看: 1992|回复: 4

[技术交流] 走进flask:一如既往地Hello World

[复制链接]
发表于 2017-10-9 20:38:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
今天的内容,很落俗套咳咳。

对对,今天我们讲讲 Hello World !

怕不怕!!!




进入正题,就是在网页上显示hello world




直接放代码:
  1. from flask import Flask

  2. app = Flask(__name__)

  3. @app.route("/")
  4. def hello():
  5.     return "Hello World!"

  6. if __name__ == "__main__":
  7.     app.run()
复制代码

先看程序的第 1 句:
  1. from flask import Flask
复制代码
该句从 flask 包导入了一个 Flask 类,这也是后面构建 Flask Web 程序的基础。

接着看程序的第 2 句:
  1. app = Flask(__name__)
复制代码
上面这一句通过将 __name__ 参数传给 Flask 类的构造函数,创建了一个程序实例 app,也就创建了一个 Flask 集成的开发 Web 服务器。Flask 用 __name__ 这个参数决定程序的根目录,以便程序能够找到相对于程序根目录的资源文件位置,比如静态文件等。

接着看程序的第 3,4,5 句:
  1. @app.route("/")
  2. def hello():
  3.     return "Hello World!"
复制代码

可能读者会对这三句感到很困惑:它们的作用是什么呢?我们知道,Web 浏览器把请求发送给 Web 服务器,Web 服务器再把请求发送给 Flask 程序实例,那么程序实例就需要知道对每个 URL 请求应该运行哪些代码。

上面这三句代码的意思就是:如果浏览器要访问服务器程序的根地址("/"),那么 Flask 程序实例就会执行函数 hello() ,返回『Hello World!』。

比如,假设我们部署程序的服务器域名为 www.hello.com,当我们在浏览器访问 http:// www.hello.com(也就是根地址)时,会触发 Flask 程序执行 hello() 这个函数,返回『Hello World!』,这个函数的返回值称为响应,是客户端接收到的内容。

但是,如果我们在浏览器访问 http://www.hello.com/peter 时,程序会返回 404 错误,因为我们的 Flask 程序并没有对这个 URL 指定处理函数,所以会返回错误代码。

接着看程序的最后两句:
  1. if __name__ == "__main__":
  2.     app.run()
复制代码

上面两句的意思,当我们运行该代码的时候(第 1 句),启动 Flask 集成的开发 Web 服务器(第 2 句)。默认情况下,改服务器会监听本地的 5000 端口,如果你想改变端口的话,可以传入 "port=端口号",另外,如果你想支持远程,需要传入 "host=0.0.0.0",你还可以设置调试模式,如下:

  1. app.run(host='0.0.0.0', port=8234, debug=True)
复制代码

服务器启动后,程序会进入轮询,等待并处理请求。轮询会一直运行,直到程序被终止。需要注意的是,Flask 提供的 Web 服务器不适合在生产环境中使用,后面我们会介绍生产环境中的 Web 服务器。

OK,到此为止,我们基本明白一个简单的 Flask 程序是怎么运作的了,后面我们就一起慢慢揭开 Flask 的神秘面纱吧~~

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +2 收起 理由
jerryxjr1220 + 5 + 5 + 2 开始玩Flask啦^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-10-10 16:43:19 | 显示全部楼层
竟然没有人,伤心。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-10 18:05:52 | 显示全部楼层
新手·ing 发表于 2017-10-10 16:43
竟然没有人,伤心。


django是个好东西
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-25 20:14:25 | 显示全部楼层
赞赞赞
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-25 20:14:41 | 显示全部楼层
赞赞赞支持好声音
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 13:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表