【发布时间】:2013-11-18 07:28:12
【问题描述】:
我正在使用 Flask 创建 REST API,并且有一个与操纵视图问题的参数有关的问题。我目前有两个资源,“Survey”和“SurveyStep”,可通过以下方式访问:
/surveys
/survey/*survey-id*/steps/*step-id*
由于我将为每个请求使用调查资源,因此我希望在每个请求之前自动获取它 (SQLAlchemy)。
目前我找到了 3 种方法来做到这一点:
1) 编写一个 URL 转换器,如 (http://corbinsimpson.com/entries/be-prepared.html) 中所述
2) 使用@..before_request,手动添加东西到request.view_args
3) 使用@....before_request,将其添加到flask.g 对象中
我先尝试了1),存在炼金对象不属于会话的问题,如果是惰性关系需要先添加。
2) 看起来很“脏”,因为你的函数得到的参数并没有真正明显地声明
3) 是我现在使用的,它使函数本身不需要视图参数,但它解决了会话问题并且比 2 更明显。
有什么想法、注意事项、改进吗?
谢谢!
【问题讨论】:
标签: python rest sqlalchemy flask