# -*- coding: utf-8 -*-
from pyramid.view import view_config
def json_api(**params):
u""" JSON API 用 view decorator """
settings = dict(renderer='json', xhr=True, _depth=1)
settings.update(params)
def wrapped(func):
return view_config(**settings)(func)
return wrapped
こんな感じで使えます。
@json_api(route_name="api_user_detail")
def user_detail(request):
return {"id": 1, "name": "junya"}
decorator のネストの数だけ _depth パラメータをインクリメントする必要があるので、そこだけ注意。