我不确定这是否是特定的Flask,但当我在dev模式下运行应用程序(http://localhost:5000)时,我无法从网络上的其他机器访问它(使用http://[dev-host-ip]:5000)。例如,当Rails处于开发模式时,它工作得很好。我找不到任何关于Flask开发服务器配置的文档。你知道应该配置什么来实现这个功能吗?
当前回答
在项目根目录中创建文件.flaskenv。
这个文件中的参数通常是:
FLASK_APP=app.py
FLASK_ENV=development
FLASK_RUN_HOST=[dev-host-ip]
FLASK_RUN_PORT=5000
如果您有一个虚拟环境,请激活它并执行pip install python-dotenv。
这个包将使用.flaskenv文件,其中的声明将自动跨终端会话导入。
然后你就可以进行长距离跑步了
其他回答
在项目根目录中创建文件.flaskenv。
这个文件中的参数通常是:
FLASK_APP=app.py
FLASK_ENV=development
FLASK_RUN_HOST=[dev-host-ip]
FLASK_RUN_PORT=5000
如果您有一个虚拟环境,请激活它并执行pip install python-dotenv。
这个包将使用.flaskenv文件,其中的声明将自动跨终端会话导入。
然后你就可以进行长距离跑步了
检查服务器上的特定端口是否打开以服务客户端?
Ubuntu或Linux发行版
sudo ufw enable
sudo ufw allow 5000/tcp //allow the server to handle the request on port 5000
配置应用程序以处理远程请求
app.run(host='0.0.0.0' , port=5000)
python3 app.py & #run application in background
我也有同样的问题,我使用PyCharm作为编辑器,当我创建项目时,PyCharm创建了一个Flask服务器。我所做的就是用Python创建一个服务器,方法如下:
基本上我所做的就是创建一个新的服务器,如果不是python的话,就是flask
我希望这对你有所帮助
您还可以通过环境变量设置主机(将其暴露在面向IP地址的网络上)和端口。
$ export FLASK_APP=app.py
$ export FLASK_ENV=development
$ export FLASK_RUN_PORT=8000
$ export FLASK_RUN_HOST=0.0.0.0
$ flask run
* Serving Flask app "app.py" (lazy loading)
* Environment: development
* Debug mode: on
* Running on https://0.0.0.0:8000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 329-665-000
参见如何获取所有可用的命令选项来设置环境变量?
在CMD(命令提示符)上进入您的项目路径,并执行以下命令:-
设置FLASK_APP = ABC.py
设置FLASK_ENV =发展
flask运行-h [yourIP] -p 8080
你会在CMD上得到以下o/p:-
服务Flask应用程序" experimental .py"(延迟加载) 开发环境: 调试模式:开启 使用stat重新启动 调试器已激活! 调试器PIN: 199-519-700 运行http://[yourIP]:8080/(按CTRL+C退出)
现在您可以在另一台机器上使用http://[yourIP]:8080/ url访问您的flask应用程序
推荐文章
- 如何在Flask-SQLAlchemy中按id删除记录
- 在Python中插入列表的第一个位置
- Python Pandas只合并某些列
- 如何在一行中连接两个集而不使用“|”
- 从字符串中移除前缀
- 代码结束时发出警报
- 如何在Python中按字母顺序排序字符串中的字母
- 在matplotlib中将y轴标签添加到次要y轴
- 如何消除数独方块的凹凸缺陷?
- 为什么出现这个UnboundLocalError(闭包)?
- 使用Python请求的异步请求
- 如何检查一个对象是否是python中的生成器对象?
- 如何从Python包内读取(静态)文件?
- 如何计算一个逻辑sigmoid函数在Python?
- python: SyntaxError: EOL扫描字符串文字