【发布时间】:2013-04-18 05:12:53
【问题描述】:
我用 Flask 在 virtualbox 上建立了一个网站。该网站可以在localhost上打开,但是我无法通过端口转发打开它,所以我将代码从manage.run()更改为manage.run(host='0.0.0.0')。
问题是我收到了这个错误:
typeerror run() got an unexpected keyword argument 'host'.
将manage.run() 更改为manage.run(debug=True) 时出现类似错误。我只是按照 Flask 文档进行操作。http://flask.pocoo.org/docs/quickstart/#a-minimal-application 谁能告诉我为什么我会收到这个错误?
#!/usr/bin/env python
#-*- coding:utf-8 -*-
"""Manage Script."""
from sys import stderr, exit
from flask.ext.script import Manager, prompt_bool
from szupa import create_app
from szupa.extensions import db
from szupa.account.models import User
from szupa.context import create_category_db
app = create_app()
manager = Manager(app)
@manager.command
def initdb():
"""Initialize database."""
db.create_all()
create_category_db()
@manager.command
def migrate(created, action="up"):
module_name = "migrates.migrate%s" % created
try:
module = __import__(module_name, fromlist=["migrates"])
except ImportError:
print >> stderr, "The migrate script '%s' is not found." % module_name
exit(-1)
if prompt_bool("Confirm to execute migrate script '%s'" % module_name):
try:
action = getattr(module, action)
except AttributeError:
print >> stderr, "The given action '%s' is invalid." % action
exit(-1)
action(db)
print >> stderr, "Finished."
@manager.command
def dropdb():
"""Drop database."""
if prompt_bool("Confirm to drop all table from database"):
db.drop_all()
@manager.command
def setadmin(email):
"""Promote a user to administrator."""
user = User.query.filter_by(email=email).first()
if not user:
print >> stderr, "The user with email '%s' could not be found." % email
exit(-1)
else:
user.is_admin = True
db.session.commit()
if __name__ == "__main__":
manager.run()
【问题讨论】:
-
很高兴您找到了解决方案!您可以发布一个答案,解释您如何解决它并链接到该页面。它会帮助任何有同样问题并遇到这篇文章的人。这是working version of the link。
标签: python frameworks flask