phi*_*dah 2 python flask gunicorn
我有一个 Flask 应用程序,我试图通过 Gunicorn 运行它。
该应用程序位于一个模块中,假设其名为“mymodule”,并且__init__.py位于的文件mymodule/如下所示:
from flask import Flask
app = Flask(__name__)
if __name__ == '__main__':
    app.run()
但是,无论 URL 是什么,都会返回 404 错误。
我尝试在包含 mymodule 文件夹的文件夹中运行 Gunicorn:
gunicorn -b 127.0.0.1:5000 mymodule:app
我尝试通过运行将 Gunicorn 指向根目录中的调试文件“runapp.py” gunicorn -b 127.0.0.1:5000 runapp.py,但这会导致error: [Errno 48] Address already in use.
我究竟做错了什么?
编辑:文件结构
/runapp.py
/mymodule/__init__.py
/mymodule/views.py
运行应用程序.py:
from mymodule import app, views
app.run(debug=True)
__init.py__:
from flask import Flask
from mymodule import views
app = Flask(__name__)
if __name__ == '__main__':
    app.run()
视图.py:
from mymodule import api
from mymodule.forms import SettingsForm
from functools import wraps
from flask import request, Response, render_template, redirect, url_for
[...]
@app.route('/')
@requires_auth
def dashboard():
    data = api.get_overview()
    return render_template('dashboard.html', data=data)
之所以会出现这种情况,Errno 48是因为同一个端口 ( 5000) 已经忙于另一个应用程序,这意味着您可能会运行应用程序两次。
该404问题是由于缺乏路线造成的。路由未正确附加,app因为您未将其导入views模块中。来自Flask 文档:
\n\n\n这里\xe2\x80\x99s 是一个例子
\n\n__init__.py:Run Code Online (Sandbox Code Playgroud)\n\nfrom flask import Flask\napp = Flask(__name__)\n\nimport yourapplication.views\n这就是views.py 的样子:
\n\nRun Code Online (Sandbox Code Playgroud)\nfrom yourapplication import app\n\n@app.route(\'/\')\ndef index():\n return \'Hello World!\'\n
请注意,__init__.py视图是在创建 Flask 实例后导入的。
| 归档时间: | 
 | 
| 查看次数: | 6428 次 | 
| 最近记录: |