我在django中使用了tastypie来处理REST api请求。当我做GET / POST请求时,它默认为脱水方法。但是对于DELETE / PUT请求它没有任何方法tastypie处理它,因此无法记录请求信息。
class ProjectResource(ModelResource):
allowed_methods = ['get', 'put', 'post', 'delete']
resource_name = 'project'
queryset = Project.objects.all()
validation = FormValidation(form_class=ProjectForm)
always_return_data = True
filtering = {
'id': ALL,
'slug': ALL,
}
def dehydrate(self, bundle):
import pdb;pdb.set_trace() #--> get/post request hit this function
logger.log('app.main','debug', 'Project info', bundle)
bundle.data['name'] = cgi.escape(bundle.obj.name)
return bundle
是否有任何函数可以覆盖tastypie.resource模块中的ModelResource?所以对于所有请求我首先得到捆绑数据,然后我会在处理之前将其传递给记录器。
答案 0 :(得分:1)
有点晚了,但是如果你可以描述目的是什么,那么可能更容易指出你正确的方向。
您说您想记录请求信息,但是使用Option Explicit
Sub test()
Dim r As Range
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
Set r = sh.Range("a1:i1")
r.Font.Bold = True
r.Font.Name = "Segoe UI Symbol"
r.Font.Size = 14
Set r = sh.Range("a2:i100")
r.Font.Bold = True
r.Font.Name = "Segoe UI Symbol"
r.Font.Size = 11
Next sh
End Sub
方法记录捆绑包不会这样做,因为任何更改(例如在dehydrate
请求上添加主键已经是完成。
您可能最好直接在POST
方法中记录request.body
。
如果您确实想要记录回复,您也可以使用dispatch
方法执行此操作。
dispatch