typeerror run() got an unexpected keyword argument 'host'.
今天在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',报错
|
|
后来,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中端口转发设置的本地端口,最后访问成功!!