또 다른 가능성은 사용자 정의 ModelResource
객체에서 ModelResource.dispatch()
방법을 무시하는 것입니다
class CustomModelResource(ModelResource):
def dispatch(self, request_type, request, **kwargs):
"""
Override for systematic logging.
"""
log_user = request.META['USER']
log_request_type = request_type
log_resource_name = kwargs['resource_name']
log_api_name = kwargs['api_name']
log_response = {}
try:
response = super(CustomModelResource, self).dispatch(request_type, request, **kwargs)
log_response['response_code'] = response.status_code
# Also log what could go wrong
except Exception, e:
log_response['error_type'] = e.__class__.__name__
log_response['error_message'] = e.message
log_response['response_code'] = http.HttpBadRequest.status_code
raise
finally:
# Log all the things
logger.debug('%s asked for %s on %s through api %s: \n%s' % (
log_user,
log_request_type,
log_resource_name,
log_api_name,
log_response,
))
return response
class Meta:
# Other custom stuff
하지만 난 그냥 Tastypie에서 자원을 사용하고 ... 어떤 의견이 없습니다. 기존 클래스를 유일한 솔루션으로 확장하고 있습니까? – lpandzic
내가해야 할 일은 아무 것도 반환하지 않는 process_request를 사용하여 내 자신의 미들웨어 (https://docs.djangoproject.com/en/dev/topics/http/middleware/?from=olddocs)를 구현하는 것입니다. – lpandzic