mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-10-31 16:07:38 +03:00 
			
		
		
		
	Merge pull request #145 from flashingpumpkin/master
Added a method get_renderers to the ResponseMixin
This commit is contained in:
		
						commit
						87a9072b56
					
				|  | @ -182,7 +182,7 @@ class RequestMixin(object): | ||||||
|                 return parser.parse(stream) |                 return parser.parse(stream) | ||||||
| 
 | 
 | ||||||
|         raise ErrorResponse(status.HTTP_415_UNSUPPORTED_MEDIA_TYPE, |         raise ErrorResponse(status.HTTP_415_UNSUPPORTED_MEDIA_TYPE, | ||||||
|                             {'error': 'Unsupported media type in request \'%s\'.' % |                             {'error': 'Unsupported media type in request \'%s\'.' %  | ||||||
|                             content_type}) |                             content_type}) | ||||||
| 
 | 
 | ||||||
|     @property |     @property | ||||||
|  | @ -221,6 +221,13 @@ class ResponseMixin(object): | ||||||
|     Should be a tuple/list of classes as described in the :mod:`renderers` module. |     Should be a tuple/list of classes as described in the :mod:`renderers` module. | ||||||
|     """ |     """ | ||||||
| 
 | 
 | ||||||
|  |     def get_renderers(self): | ||||||
|  |         """ | ||||||
|  |         Return an iterable of available renderers. Override if you want to change | ||||||
|  |         this list at runtime, say depending on what settings you have enabled. | ||||||
|  |         """ | ||||||
|  |         return self.renderers | ||||||
|  | 
 | ||||||
|     # TODO: wrap this behavior around dispatch(), ensuring it works |     # TODO: wrap this behavior around dispatch(), ensuring it works | ||||||
|     # out of the box with existing Django classes that use render_to_response. |     # out of the box with existing Django classes that use render_to_response. | ||||||
|     def render(self, response): |     def render(self, response): | ||||||
|  | @ -282,7 +289,7 @@ class ResponseMixin(object): | ||||||
|         # attempting more specific media types first |         # attempting more specific media types first | ||||||
|         # NB. The inner loop here isn't as bad as it first looks :) |         # NB. The inner loop here isn't as bad as it first looks :) | ||||||
|         #     Worst case is we're looping over len(accept_list) * len(self.renderers) |         #     Worst case is we're looping over len(accept_list) * len(self.renderers) | ||||||
|         renderers = [renderer_cls(self) for renderer_cls in self.renderers] |         renderers = [renderer_cls(self) for renderer_cls in self.get_renderers()] | ||||||
| 
 | 
 | ||||||
|         for accepted_media_type_lst in order_by_precedence(accept_list): |         for accepted_media_type_lst in order_by_precedence(accept_list): | ||||||
|             for renderer in renderers: |             for renderer in renderers: | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user