diff options
| author | Tom Christie | 2011-05-27 14:40:19 +0100 |
|---|---|---|
| committer | Tom Christie | 2011-05-27 14:40:19 +0100 |
| commit | 21d2dcc2942a8e4adb3a79b0983841e5f0ab5878 (patch) | |
| tree | 82acf04d4f092a392e6db51a7467c63406929a3c /djangorestframework/mixins.py | |
| parent | 9e9ae6094943d663a677b3bbe8e8af6a43744daf (diff) | |
| download | django-rest-framework-21d2dcc2942a8e4adb3a79b0983841e5f0ab5878.tar.bz2 | |
Allow .form specified on view. Allow get_form, put_form, post_form. Add .PARAMS.
Diffstat (limited to 'djangorestframework/mixins.py')
| -rw-r--r-- | djangorestframework/mixins.py | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/djangorestframework/mixins.py b/djangorestframework/mixins.py index 3c05bef0..11e3bb38 100644 --- a/djangorestframework/mixins.py +++ b/djangorestframework/mixins.py @@ -401,12 +401,23 @@ class ResourceMixin(object): def CONTENT(self): """ Returns the cleaned, validated request content. + + May raise an :class:`response.ErrorResponse` with status code 400 (Bad Request). """ if not hasattr(self, '_content'): self._content = self.validate_request(self.DATA, self.FILES) return self._content @property + def PARAMS(self): + """ + Returns the cleaned, validated query parameters. + + May raise an :class:`response.ErrorResponse` with status code 400 (Bad Request). + """ + return self.validate_request(self.request.GET) + + @property def _resource(self): if self.resource: return self.resource(self) @@ -414,12 +425,14 @@ class ResourceMixin(object): return ModelResource(self) elif getattr(self, 'form', None): return FormResource(self) + elif getattr(self, '%s_form' % self.method.lower(), None): + return FormResource(self) return Resource(self) - def validate_request(self, data, files): + def validate_request(self, data, files=None): """ - Given the request *data* return the cleaned, validated content. - Typically raises an :class:`response.ErrorResponse` with status code 400 (Bad Request) on failure. + Given the request *data* and optional *files*, return the cleaned, validated content. + May raise an :class:`response.ErrorResponse` with status code 400 (Bad Request) on failure. """ return self._resource.validate_request(data, files) @@ -429,8 +442,8 @@ class ResourceMixin(object): """ return self._resource.filter_response(obj) - def get_bound_form(self, content=None): - return self._resource.get_bound_form(content) + def get_bound_form(self, content=None, method=None): + return self._resource.get_bound_form(content, method=method) |
