Gunicorn和Flask蓝图

2024-05-08 16:25:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我用的是Gunicorn(在nginx上)和烧瓶。假设我有两个Python文件,它们与一个Flask蓝图链接:app.py和{},其中{}具有url前缀/api为什么app.py中的任何路由都能工作,尽管所有蓝图(即/api)的路由都返回404?

app.py如下所示:

from flask import Flask, Blueprint
app = Flask(__name__)
@app.route('/')
def index():
    return '''cheese-bread'''

if __name__ == '__main__':
    app.register_blueprint(api, url_prefix='/api')
    app.run(host='0.0.0.0')

api.py

^{pr2}$

wsgi.py尽可能简单

from app import app

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

启动脚本与404无关,因为使用gunicorn -b 0.0.0.0:8000 wsgi:app运行以进行开发时出现的404

任何帮助都将不胜感激。在


Tags: runnamefrompyimportapiappurl
1条回答
网友
1楼 · 发布于 2024-05-08 16:25:34

您需要在if __name__ == "__main__"之外注册蓝图,因为当您说from app import app时,它不会在guardblock中运行任何代码

from flask import Flask, Blueprint
app = Flask(__name__)
@app.route('/')
def index():
    return '''cheese-bread'''
app.register_blueprint(api, url_prefix='/api')
if __name__ == '__main__':

    app.run(host='0.0.0.0')

这样当你在wsgi中导入它的时候,它也注册了蓝图。。。在

或者,您可以在wsgi.py在

相关问题 更多 >