首页 > 编程语言 >python-flask之helloworld

python-flask之helloworld

时间:2023-02-25 17:58:36浏览次数:35  
标签:__ name python 0.0 app helloworld flask

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

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即可,但是要注意,不要选择那些已经被其他服务使用的端口号,否则会报错

Address already in use

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

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=1122)

4、自动加载技术--reload

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

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

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

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",观察服务,一定会重新启动,出现类似下面的提示信息

* 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

 

标签:__,name,python,0.0,app,helloworld,flask
From: https://www.cnblogs.com/Vincent-yuan/p/17154883.html

相关文章

  • Windows下Python仪器仪表编程环境搭建
    1工具列表Python3及其程序库pyvisaPython3下载IOSuiteLibraries下载2下载Python3安装需要勾选“AddPython3.10toPATH”,其他都可以默认安装。pyvisa安装......
  • 【python】random库使用
    import首先要importrandom随机生成数生成随机浮点数random.random():返回随机生成的一个浮点数,范围在[0,1)之间np.random.rand(d0,d1,…,dn):返回一个或一组浮......
  • Python Struct 处理网络字节流
    背景因为websocket请求/返回均需要处理字节流现返回基本能正常处理,但请求字段及加密方式与业务紧密相关,抓着开发大佬问了几遍,有点头疼 Python中的struct模块pac......
  • 用Python绘图(数据分析与挖掘实战)
    代码1:餐饮日销额数据异常值检测(箱型图)importpandasaspdimportnumpyasnpcatering_sale="D:\\360MoveData\\Users\\86130\\Documents\\TencentFiles\\226875669......
  • python笔记--在文件进行输出
    将print的内容输出到文件中1#将数据输出到文件中2fp=open('E:/text1.txt','a+')3print('helloword',file=fp)4fp.close()  1#不进行换行输出(在一行输出......
  • 2023.8 Java与Python
    Java与Python都一直在各种流行编程语言中名列前茅,也有很多相似之处。作为技术人员,我们不能把自己局限在某一项技术或编程语言中,而应该能针对具体场景快速选择适合的技术解......
  • Python 部署私有 pip 库
    Python部署私有pip库本教程使用的是pypiserver这个Python包,其文档见:https://pypi.org/project/pypiserver/,Github地址:https://github.com/pypiserver/pypiserver......
  • Python学习笔记(五)if分支语句
    一、if语法示例:1money=int(input('请输入余额:'))2ifmoney>=5:3print('买得起!')45ifTrue:6print('条件成立时要执行的代码1')7print('条......
  • python的驻留机制
    在某些情况下,python会使用现有的不可变对象,而不是总是创建一个新对象。驻留的对象在内部使用类似字典的结构(驻留池)进行驻留,节省内存。原理:系统维护interned字典类型记录已......
  • fatal error: Python.h: No such file or directory
    fatalerror:Python.h:Nosuchfileordirectory过程:通过pipinstall某个库,发生了一下错误,找不到Python.h的头文件解决方案搜索StackoverFlow,我的环境是CentOS,所以执......