python实现Flask启动app.run(host='0.0.0.0',port=5000)

记录一个小坑。

这段时间用Flask写了一个小项目,用于局域网内提供restful服务,起到一个连接各个软件的作用吧,然后今天查了一下:

from flask import Flask

# Flask初始化参数尽量使用你的包名,这个初始化方式是官方推荐的,官方解释:http://flask.pocoo.org/docs/0.12/api/#flask.Flask
app = Flask(__name__)


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

if __name__ == "__main__":
    # 这种是不太推荐的启动方式,我这只是做演示用,官方启动方式参见:http://flask.pocoo.org/docs/0.12/quickstart/#a-minimal-application
    app.run(debug=True)

这是一种常见的访问方式,主要提供本机访问,这一步倒是没什么问题。当我尝试用外网去访问的时候,官方教我们的是:

from flask import Flask

# Flask初始化参数尽量使用你的包名,这个初始化方式是官方推荐的,官方解释:http://flask.pocoo.org/docs/0.12/api/#flask.Flask
app = Flask(__name__)


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

if __name__ == "__main__":
    # 这种是不太推荐的启动方式,我这只是做演示用,官方启动方式参见:http://flask.pocoo.org/docs/0.12/quickstart/#a-minimal-application
    app.run(host="0.0.0.0", debug=True)
    # app.run(debug=True)

然后我就这么设了,发现内网外网用这个ip都访问不了。

后来谷歌,百度了好久,好多回答没一个在点上的,最后终于找到一个靠谱的回答,但是现在找不到地方了,这里自己做一个记录。

用python开启flask web服务时,

(1)你只需要本机访问,那ip只要不设置为0.0.0.0就可以,正常访问就好

(2)如果你需要外网访问,ip需要设置为0.0.0.0,此时,在本机上访问需要使用默认的127.0.0.1(也就是你不设置ip时默认的ip),在外网上访问则需要使用你本机的ip,不要使用0.0.0.0

你可能感兴趣的:(前端,python学习笔记)