Gunicorn显示404而不是app

时间:2012-12-02 17:59:42

标签: python flask gunicorn

我有一个Flask应用程序,我正试图通过Gunicorn。

该应用位于一个模块中,让我们称之为" mymodule",位于__init__.py的{​​{1}}文件如下所示:

mymodule/

但是,无论URL如何,都会返回404错误。

我尝试在包含mymodule文件夹的文件夹中运行Gunicorn:

from flask import Flask
app = Flask(__name__)

if __name__ == '__main__':
    app.run()

我已经尝试将Gunicorn指向我的调试文件," runapp.py"在根目录中,通过运行gunicorn -b 127.0.0.1:5000 mymodule:app ,但结果为gunicorn -b 127.0.0.1:5000 runapp.py

我做错了什么?

修改:文件结构

error: [Errno 48] Address already in use

runapp.py:

/runapp.py
/mymodule/__init__.py
/mymodule/views.py

from mymodule import app, views app.run(debug=True)

__init.py__

views.py

from flask import Flask
from mymodule import views

app = Flask(__name__)

if __name__ == '__main__':
    app.run()

1 个答案:

答案 0 :(得分:4)

你得到Errno 48因为同一个端口(5000)已经忙于另一个应用程序,这意味着你可能会运行你的应用程序两次。

404问题是由缺乏路线引起的。这些路由未正确附加到app,因为您未在views模块中导入该路由。来自Flask documentation

  

以下是__init__.py示例:

from flask import Flask
app = Flask(__name__)

import yourapplication.views
     

这就是views.py的样子:

from yourapplication import app

@app.route('/')
def index():
    return 'Hello World!'

请注意,{<1}}视图在创建Flask实例后导入