Flask 应用程序外部可见问题: typeerror run() got an unexpected keyword argument 'host'.
2013-04-25 09:05
1366 查看
今天在Windows 7 下通过NAT的端口转发机制访问VirtualBox中的 CentOS 6.4上的Flask 网站。虽然在CentOS上能够访问,但Win7下总是无法访问。应该不是防火墙的问题。
参考:http://dnfehren.github.io/blog/2012/07/20/use-python-flask-server-through-nat-virtualbox-guest/
在《Flask Documentation》http://flask.pocoo.org/docs/quickstart/#a-minimal-application 中提到:
如果你运行服务器,你会注意到它只能从你自己的计算机上访问,网络中其它任何的地方都不能访问。这是因为默认情况下,调试模式,应用中的一个用户可以执行你计算机上的任意Python代码。
如果你禁用了debug或信任你所在网络的用户,你可以简单修改调用run()的方法使你的服务器公开可用,如下:
app.run(host='0.0.0.0')这让你的操作系统去监听所有公开的IP。
然后兴致冲冲地添加了host='0.0.0.0',报错
类似地,如果是添加debug=True,会报错
后来,Google了一下之后,原来使用下面代码Manager来管理app
from flask.ext.script import Manage
app = create_app()
manager = Manager(app)
if __name__ == "__main__":
manager.run(host='0.0.0.0')
根据这篇文章:
http://docs.mongodb.org/manual/tutorial/write-a-tumblelog-application-with-flask-mongoengine/
改为 from flask.ext.script import Manage, Server
在manager = Manager(app)下面添加
然后激活virtualenv,运行./manage.py runserver。在Windows 7浏览器中输入127.0.0.1: port,这里的port是你在VirtualBox中端口转发设置的本地端口,最后访问成功!!
参考:http://dnfehren.github.io/blog/2012/07/20/use-python-flask-server-through-nat-virtualbox-guest/
在《Flask Documentation》http://flask.pocoo.org/docs/quickstart/#a-minimal-application 中提到:
如果你运行服务器,你会注意到它只能从你自己的计算机上访问,网络中其它任何的地方都不能访问。这是因为默认情况下,调试模式,应用中的一个用户可以执行你计算机上的任意Python代码。
如果你禁用了debug或信任你所在网络的用户,你可以简单修改调用run()的方法使你的服务器公开可用,如下:
app.run(host='0.0.0.0')这让你的操作系统去监听所有公开的IP。
然后兴致冲冲地添加了host='0.0.0.0',报错
typeerror run() got an unexpected keyword argument 'host'. |
typeerror run() got an unexpected keyword argument 'debug'. |
from flask.ext.script import Manage
app = create_app()
manager = Manager(app)
if __name__ == "__main__":
manager.run(host='0.0.0.0')
根据这篇文章:
http://docs.mongodb.org/manual/tutorial/write-a-tumblelog-application-with-flask-mongoengine/
改为 from flask.ext.script import Manage, Server
在manager = Manager(app)下面添加
manager.add_command("runserver", Server( host = '0.0.0.0') )
然后激活virtualenv,运行./manage.py runserver。在Windows 7浏览器中输入127.0.0.1: port,这里的port是你在VirtualBox中端口转发设置的本地端口,最后访问成功!!
相关文章推荐
- Keras TypeError: run() got an unexpected keyword argument 'class_mode'
- Keras TypeError: run() got an unexpected keyword argument 'class_mode'
- Keras TypeError: run() got an unexpected keyword argument 'class_mode'
- TypeError: run() got an unexpected keyword argument 'argv'
- TypeError: __init__() got an unexpected keyword argument 'shape'
- TypeError:__init__() got an unexpected keyword argument 'xxx'
- TypeError: __init__() got an unexpected keyword argument ‘maxlength’
- TypeError: __init__() got an unexpected keyword argument 'syntax'
- TypeError: exchange_declare() got an unexpected keyword argument 'type'的解决办法
- tensorflow 1.5 TypeError: __init__() got an unexpected keyword argument 'dct_method'
- 报错信息:TypeError: forward() got an unexpected keyword argument 'inputs'
- RESTful学习笔记 --- TypeError: __init__() got an unexpected keyword argument 'method'
- pip错误:TypeError: parse() got an unexpected keyword argument 'transport_encoding'
- TypeError: parse() got an unexpected keyword argument 'transport_encoding'
- 解决:TypeError: parse() got an unexpected keyword argument 'transport_encoding'
- pip错误:TypeError: parse() got an unexpected keyword argument 'transport_encoding'
- TypeError: __init__() got an unexpected keyword argument 'shape'
- TypeError: __init__() got an unexpected keyword argument ‘default’
- python pandas 报错:TypeError: parser_f() got an unexpected keyword argument 'skip_blank_lines'
- pip错误:TypeError: parse() got an unexpected keyword argument 'transport_encoding'