Python Flask Restplus-在服务器上找不到请求的URL
我有一个flask应用程序,我正在尝试使用flask restplus和蓝图。不幸的是,我的api端点总是返回服务器上找不到请求的URL。即使我可以看到它存在于Python Flask Restplus-在服务器上找不到请求的URL,python,flask,blueprint,flask-restplus,Python,Flask,Blueprint,Flask Restplus,我有一个flask应用程序,我正在尝试使用flask restplus和蓝图。不幸的是,我的api端点总是返回服务器上找不到请求的URL。即使我可以看到它存在于app.URL\u map的输出中。 项目布局如下: - app.py - api - __init__.py - resources.py app.py from api import api, api_blueprint from api.resources import EventListResource, Event
app.URL\u map
的输出中。
项目布局如下:
- app.py
- api
- __init__.py
- resources.py
app.py
from api import api, api_blueprint
from api.resources import EventListResource, EventResource
app = Flask(__name__)
app.register_blueprint(api_blueprint)
db.init_app(flask_app)
app.run()
from flask_restplus import Api
from flask import Blueprint
api_blueprint = Blueprint("api_blueprint", __name__, url_prefix='/api')
api = Api(api_blueprint)
from flask_restplus import Resource
from flask import Blueprint
from . import api, api_blueprint
@api_blueprint.route('/events')
class EventListResource(Resource):
def get(self):
"stuff"
return items
def post(self):
"stuff"
db.session.commit()
return event, 201
api/\uuuuu init\uuuuuu.py
from api import api, api_blueprint
from api.resources import EventListResource, EventResource
app = Flask(__name__)
app.register_blueprint(api_blueprint)
db.init_app(flask_app)
app.run()
from flask_restplus import Api
from flask import Blueprint
api_blueprint = Blueprint("api_blueprint", __name__, url_prefix='/api')
api = Api(api_blueprint)
from flask_restplus import Resource
from flask import Blueprint
from . import api, api_blueprint
@api_blueprint.route('/events')
class EventListResource(Resource):
def get(self):
"stuff"
return items
def post(self):
"stuff"
db.session.commit()
return event, 201
api/resources.py
from api import api, api_blueprint
from api.resources import EventListResource, EventResource
app = Flask(__name__)
app.register_blueprint(api_blueprint)
db.init_app(flask_app)
app.run()
from flask_restplus import Api
from flask import Blueprint
api_blueprint = Blueprint("api_blueprint", __name__, url_prefix='/api')
api = Api(api_blueprint)
from flask_restplus import Resource
from flask import Blueprint
from . import api, api_blueprint
@api_blueprint.route('/events')
class EventListResource(Resource):
def get(self):
"stuff"
return items
def post(self):
"stuff"
db.session.commit()
return event, 201
应用程序启动时没有问题,我可以看到
'/api/events'
出现在app.url\u map
中,因此我不确定为什么找不到url。感谢您的帮助,谢谢 Flask RESTPlus提供了一种使用与Flask蓝图几乎相同的模式的方法。其主要思想是将应用程序拆分为可重用的名称空间
您可以这样做:
app.py
from flask_restplus import Api
from api import api_namespace
app = Flask(__name__)
api = Api(app)
db.init_app(flask_app)
from api import api_namespace
api.add_namespace(api_namespace, path='/api')
app.run()
api/init.py
from flask_restplus import Namespace
api_namespace = Namespace('api_namespace')
api/resources.py
from flask_restplus import Resource
from api import api_namespace
@api_namespace.route('/events')
class EventListResource(Resource):
def get(self):
"stuff"
return items
def post(self):
"stuff"
db.session.commit()
以下是指向文档的链接:
Flask RESTPlus提供了一种使用与Flask蓝图几乎相同的模式的方法。其主要思想是将应用程序拆分为可重用的名称空间 您可以这样做: app.py
from flask_restplus import Api
from api import api_namespace
app = Flask(__name__)
api = Api(app)
db.init_app(flask_app)
from api import api_namespace
api.add_namespace(api_namespace, path='/api')
app.run()
api/init.py
from flask_restplus import Namespace
api_namespace = Namespace('api_namespace')
api/resources.py
from flask_restplus import Resource
from api import api_namespace
@api_namespace.route('/events')
class EventListResource(Resource):
def get(self):
"stuff"
return items
def post(self):
"stuff"
db.session.commit()
以下是指向文档的链接: