前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python-flask之helloworld

python-flask之helloworld

作者头像
Vincent-yuan
发布2023-02-26 19:29:15
5040
发布2023-02-26 19:29:15
举报
文章被收录于专栏:Vincent-yuan

python 环境安装:

python 3.10

python工具安装:

pycharm社区版

安装flask

可以用pip install flask安装 ;

也可以直接在pycharm中输入from flask import Flask后点击安装。

编写第一个helloworld程序

1.File - > New Project 创建项目

修改项目名称,生成目录结构如下:

 2.增加app.py

app.py

代码语言:javascript
复制
from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello_world():
    return "hello world!"


if __name__ == '__main__':
    app.run()
3.点击运行即可

 效果如上

讲解

1、面向对象

Flask是一个类,app是这个类的实例,也可以说是这个类创建出来的对象,在创建app这个对象时,需要传入参数import_name,通常,我们使用__name__(模块的一个全局变量,表示模块名称)

2、装饰器

route是一个装饰器,在本示例中,用来装饰函数hello_world,当请求的path 是 / 时,程序用函数hello_world来处理这个请求,关于请求的path,可以参考这篇文章 todo

3、服务器监听设置

当我们启动这个程序后,在最底层,其实是一个TCP服务端程序,也就是一个socket服务,socket服务在绑定host和port时存在这样的机制,如果你希望这个socket只能本本机的客户端访问,那么host设置成127.0.0.1,如果希望所有机器都能访问,需要设置成0.0.0.0。

端口号默认使用5000, 你也可以改成其他端口号,很随意,只要不超过65535即可,但是要注意,不要选择那些已经被其他服务使用的端口号,否则会报错

代码语言:javascript
复制
Address already in use

上面的服务,我们可以修改成

代码语言:javascript
复制
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=1122)
4、自动加载技术--reload

自动加载技术在web开发中应用很广泛,设想,你正在编写一个服务,每写完一段代码,都需要进行调试,有时仅仅是修改了一行代码,如果为了测试代码,不停的重启服务,着实让人烦恼。

自动加载技术会监测项目里文件的修改情况,一旦发现文件有修改,就会重新加载这个文件,相当于重新import这个模块,这样,你的每一次改动都会在保存后生效而不需要你重启服务,是不是很爽,关于这个技术,我会专门写文章来介绍。

开启flask自动加载只需要将debug参数设置为True,flask将以调试模式启动

代码语言:javascript
复制
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=1122, debug=True)

启动服务后,可以在浏览器里访问http://127.0.0.1:1122/ ,浏览器里显示Hello World!

然后将hello_world里return的内容修改为"Hello World! I love python",观察服务,一定会重新启动,出现类似下面的提示信息

代码语言:javascript
复制
* Debugger pin code: 194-794-301
 * Detected change in '/Users/zhangdongsheng/finup/experiment/studyflask/simple_app/app.py', reloading
 * Restarting with stat

再一次在浏览器里访问http://127.0.0.1:1122/ ,浏览器里显示的将是Hello World! I love python

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编写第一个helloworld程序
    • 1.File - > New Project 创建项目
      •  2.增加app.py
        • 3.点击运行即可
        • 讲解
          • 1、面向对象
            • 2、装饰器
              • 3、服务器监听设置
                • 4、自动加载技术--reload
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档