我有一個Flask應用程序,我試圖通過Gunicorn運行。Gunicorn顯示404代替應用程序
該應用程序所在的模塊中,可以說其名爲「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
我試圖在我的根調試文件,「runapp.py」指點Gunicorn,通過運行gunicorn -b 127.0.0.1:5000 runapp.py
,但結果爲error: [Errno 48] Address already in use
。
我在做什麼錯?
編輯:文件結構
/runapp.py
/mymodule/__init__.py
/mymodule/views.py
runapp.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()
views.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)
您的應用程序不處理任何路徑。你不應該至少處理路徑「/」? –
該代碼位於應用程序的另一部分 - 有一條路徑可以處理/ - 如果我只是在沒有Gunicorn的情況下運行「python runapp.py」,它就可以正常工作。 – phidah
但是你使用'gunicorn mymodule:app',所以'app'被使用,而不是'runapp'。 –