gpt4 book ai didi

flask - 如何初始化不安分作为 flask 蓝图

转载 作者:行者123 更新时间:2023-12-03 16:31:50 26 4
gpt4 key购买 nike

我不知道该怎么做。

蓝图api:

# coding: utf-8
from flask import Blueprint, render_template
from ..models import User
from flask_restless import APIManager

manager = APIManager()

manager.create_api(User, url_prefix='/api', methods=['GET', 'POST', 'DELETE', 'PUT', 'PATCH'])

bp = Blueprint('api', __name__)
__init__.py :
def register_db(app):
from .models import db

db.init_app(app)

def register_api(app):
from .controllers.api import manager

manager.init_app(app, flask_sqlalchemy_db=db)

注册蓝图:
def register_routes(app):
from . import controllers
from flask.blueprints import Blueprint
for module in _import_submodules_from_package(controllers):
bp = getattr(module, 'bp')
if bp and isinstance(bp, Blueprint):
app.register_blueprint(bp)

尝试启动时出现此错误:

RuntimeError: 应用程序未在数据库实例上注册并且没有应用程序绑定(bind)到当前上下文

如果我排除 methods=['GET', 'POST', 'DELETE', 'PUT', 'PATCH'],则应用程序已启动,但如果我尝试发送请求 http http://0.0.0.0:5000/api/user ,显然,我得到了答案:
HTTP/1.0 500 INTERNAL SERVER ERROR
Content-Length: 291
Content-Type: text/html
Date: Thu, 20 Oct 2016 15:33:52 GMT
Server: Werkzeug/0.11.11 Python/3.5.2

Docs没有给出解决问题的例子

你能告诉在哪里可以找到答案吗

最佳答案

这有效:

蓝图:

# coding: utf-8
from flask import Blueprint, render_template
from flask_restless import APIManager
from ..models import db


bp = Blueprint('api', __name__)

manager = APIManager(flask_sqlalchemy_db=db)

初始化.py:
def register_api(app):
"""Register api."""
from .controllers.api import manager
from .models import User

manager.init_app(app)
manager.create_api(User, app=app)

请求: http http://0.0.0.0:5000/api/user
回复 :
HTTP/1.0 200 OK
Content-Length: 72
Content-Type: application/json
Content-Type: application/json
Date: Thu, 20 Oct 2016 18:50:04 GMT
Link: <http://0.0.0.0:5000/api/user?page=0&results_per_page=10>; rel="last"
Link: <http://0.0.0.0:5000/api/user?page=0&results_per_page=10>; rel="last"
Server: Werkzeug/0.11.11 Python/3.5.2
Vary: Accept

{
"num_results": 0,
"objects": [],
"page": 1,
"total_pages": 0
}

关于flask - 如何初始化不安分作为 flask 蓝图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40161060/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com