diff options
Diffstat (limited to 'django/shortcuts/__init__.py')
| -rw-r--r-- | django/shortcuts/__init__.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/django/shortcuts/__init__.py b/django/shortcuts/__init__.py new file mode 100644 index 0000000000..b42ede0339 --- /dev/null +++ b/django/shortcuts/__init__.py @@ -0,0 +1,23 @@ +# This module collects helper functions and classes that "span" multiple levels +# of MVC. In other words, these functions/classes introduce controlled coupling +# for convenience's sake. + +from django.template import loader +from django.http import HttpResponse, Http404 + + +def render_to_response(*args, **kwargs): + return HttpResponse(loader.render_to_string(*args, **kwargs)) +load_and_render = render_to_response # For backwards compatibility. + +def get_object_or_404(klass, **kwargs): + try: + return klass._default_manager.get(**kwargs) + except klass.DoesNotExist: + raise Http404 + +def get_list_or_404(klass, **kwargs): + obj_list = list(klass._default_manager.filter(**kwargs)) + if not obj_list: + raise Http404 + return obj_list |
