当前位置: 首页 > 面试题库 >

结构化Flask-Restful API以使用SQLAlchemy

卫子平
2023-03-14
问题内容

因此,我尝试使用Flask-Restful创建一个API,但是我发现的所有示例都将所有内容都放在一个app.py文件中。我在Flask-Restful文档中找到了解释如何构造API的信息,但其中不包含使用数据库的任何内容。我已经发布了我想出的东西,并且如果我对一些数据进行硬编码,它也可以工作,但是当我将导入db到时users.py,会出现错误ImportError: cannot import name 'db'。那么,构造API以便从数据库引入数据的最佳方法是什么?

结构体

myapi
    run.py
    api
        __init__.py
        resources
            __init__.py
            user.py
myapi / run.py

from api import app
app.run()

myapi / init.py

from flask import Flask
from flask.ext.restful import Api
from flask.ext.sqlalchemy import SQLAlchemy
from api.resources.user import User

app = Flask(__name__)
app.debug = True
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://localhost/myapi'

api = Api(app)
db = SQLAlchemy(app)

api.add_resource(User, '/user')

../resources/user.py

from flask.ext.restful import Resource
from api import db


class User(Resource, db.Model):
    def get(self):
        return {'class': 'user', 'first': 'john', 'last': 'doe'}

问题答案:

将资源/模型导入移动到分配db变量的下面(因为这些模块/脚本依赖于已经实例化的数据库):

myapi / api / init.py

from flask import Flask
from flask.ext.restful import Api
from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.debug = True
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://localhost/myapi'

api = Api(app)
db = SQLAlchemy(app)

from api.resources.user import User

api.add_resource(User, '/user')


 类似资料:
  • thinkphp5编写的restful风格的API,集API请求处理,权限认证,自动生成文档等功能

  • 问题内容: 我正在尝试创建这种字典,但出现错误。我的petInfo结构是这样的: 因此,我想以某种方式使其可散列,但是其组成部分都不是要求的整数。如果其所有字段都不是整数,如何使它符合协议?如果我知道该结构在所有情况下都是唯一的,我可以使用吗? 问题答案: 只需从函数返回即可。仅供参考-哈希值不需要唯一。要求两个相等的对象也必须具有相同的哈希值。

  • 本文向大家介绍结构化,半结构化和非结构化数据之间的差异,包括了结构化,半结构化和非结构化数据之间的差异的使用技巧和注意事项,需要的朋友参考一下 在大数据方面,我们知道它处理大量数据及其执行。简而言之,我们可以说大数据是一种处理大量数据的事物,并且由于数据量如此之大,因此从广义上讲,根据数据的组织方式定义了三类,即结构化,半结构化和非结构化数据。 现在,根据组织数据的级别,我们可以发现这三种类型的数

  • 问题内容: 使用此处概述的步骤成功部署测试应用程序之后:http : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Python_flask.html 我尝试部署具有以下结构的实际flask应用程序: 其中包含我的网址映射。 我尝试在根目录以及模块中初始化实例,但是在AWS仪表板上收到以下错误: 应用程序无法正常工作(

  • 问题内容: 我很新。从我在mGo的示例中所看到的,要查询一个集合然后从中读取,您必须预先定义将要返回到结构中的数据。 在PHP中,文档被分配给一个数组。这很完美,因为一条记录可能具有完全不同的键集(可能不包含名称或电话,但包含电子邮件),而且我可以直接访问它而无需设置预定义的类/结构/变量。 在Go / mGo中有没有办法做到这一点? 问题答案: 您可以通过多种方式来处理此问题。 使用地图: 请注

  • 原文:Structured arrays 介绍 结构化数组其实就是ndarrays,其数据类型是由组成一系列命名字段的简单数据类型组成的。 例如: >>> x = np.array([('Rex', 9, 81.0), ('Fido', 3, 27.0)], ... dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4