解决flask3.x的run参数无效

代码

app.py

这里app.run(True, port=5001, host=’0.0.0.0’, debug=True) 启动时参数无效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from flask import Flask

#创建flask应用对象
app = Flask(__name__)

@app.route('/') # 路由
def hello_world(): # 视图函数
return 'Hello World!' # 响应给前端


#添加路由和视图函数
@app.route('/index/')
def index():
return 'index 首页'

if __name__ == '__main__':
app.run(True, port=5001, host='0.0.0.0', debug=True) #启动服务器

# run()启动的时候还可以添加参数
# - debug 是否开启调试模式、开启后修改过的python代码会自动刷新重启、而不用手动停止在启动
# - port 启动时指定服务器的端口号、默认是5000
# - host 主机、默认是127.0.0.1、指定为0.0.0.0表示所有的ip都可以访问

原因

如果使用专业版的pycharm创建的flask项目,那么flask的run()方法参数无效的
原因是pycharm创建的flask项目,默认的启动方式为flask的默认的run方法,看右上角运行的方式,默认是flask的run方法,所以导致配置run()参数无效

解决方法

方案1:

  • 手动创建项目,不要使用pycharm自带的flask项目创建
  • 或者如果你安装的 Flask 版本是 2.3 或更高版本,则可以直接使用 --debug 命令行选项来开启调试模式;
  • 在项目的根目录下(与app.py同级目录下)启动:
    1
    2
    3
    $ flask run --debug
    #或
    $ flask run --debug --host=0.0.0.0 --port=5001

方案2:

  • 在在项目的根目录下(与app.py同级目录下)创建一个文件:.flaskenv 文件内容写:FLASK_DEBUG=1 即可启动调试模式

也可参考

参考:flask中app.run()参设置端口、debug模式失效,真正解决