我有一些使用 django-piston 的现有 python 代码,它返回一个字典作为它的响应。例如:
from piston.handler import BaseHandler
class FooHandler(BaseHandler):
allowed_methods = ('GET',)
@classmethod
def create(self, request):
return { 'foo': 'bar' }
此代码工作正常,并使用适当的 HTTP 标头集序列化为 JSON(我假设这通过一些涉及发射器的活塞魔术起作用;对于奖励积分,请随时澄清此行为如何工作,因为我仍然了解 django-piston)。
我需要能够以任意方式修改响应,例如设置标题、状态代码等,而不使用为特定目的设计的一些预烘焙解决方案。是否有一种方便的方法可以在此代码的上下文中访问响应对象并对其进行操作,或者尚未创建响应对象?为了访问响应对象,我是否必须手动构建它(a la vanilla django),序列化字典,并手动设置适当的标题,从而失去了 django-piston 的一些有用的魔力?