我正在使用cloudant
python库连接到我的cloudant帐户。
这是我到目前为止的代码:
import cloudant
class WorkflowsCloudant(cloudant.Account):
def __init__(self):
super(WorkflowsCloudant, self).__init__(settings.COUCH_DB_ACCOUNT_NAME,
auth=(settings.COUCH_PUBLIC_KEY,
settings.COUCH_PRIVATE_KEY))
@blueprint.route('/<workflow_id>')
def get_single_workflow(account_id, workflow_id):
account = WorkflowsCloudant()
db = account.database(settings.COUCH_DB_NAME)
doc = db.document(workflow_id)
resp = doc.get().json()
if resp['account_id'] != account_id:
return error_helpers.forbidden('Invalid Account')
return jsonify(resp)
此Flask
控制器内部会有CRUD
个操作,但在当前实现中,我必须在每个方法中设置account
和db
变量对我想要查看/操作的文档执行操作。如何清理(或干掉)我的代码,以便我只需要拨打我的主WorkflowsCloudant
课程?
答案 0 :(得分:1)
我不知道cloudant
,所以我可能完全偏离基础,但我相信这会回答你的问题:
从account
删除db
,doc
和get_single_workflow
行。
将以下行添加到__init__
:
db = account.database(settings.COUCH_DB_NAME)
self.doc = db.document(workflow_id)
将resp
中的get_single_workflow
行更改为:
resp = WorkflowsCloudant().doc.get().json()