我正在尝试使用Gunicorn运行Flask应用程序。当我运行gunicorn app:index
时,我收到错误TypeError: index() takes 0 positional arguments but 2 were given
。我见过的所有例子都没有显示index
需要两个参数。这个错误是什么意思?如何使用Gunicorn运行Flask?
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return 'Hello, World!'
gunicorn app:index
respiter = self.wsgi(environ, resp.start_response)
TypeError: index() takes 0 positional arguments but 2 were given
我更改index
以获取两个参数,但出现了不同的错误。
@app.route("/")
def index(arg1, arg2):
return 'Hello, World!'
/python3.4/site-packages/flask/templating.py, line 132, in render_template
ctx.app.update_template_context(context)
AttributeError: 'NoneType' object has no attribute 'app'
答案 0 :(得分:7)
您必须将Flask实例传递给gunicorn
,而不是像index
那样传递函数名称。因此,如果您的应用保存为app.py
,那么您必须按如下方式运行gunicorn
:
$ gunicorn --bind 127.0.0.1:8000 app:app