diff options
Diffstat (limited to 'django/contrib/databrowse/plugins/objects.py')
| -rw-r--r-- | django/contrib/databrowse/plugins/objects.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/django/contrib/databrowse/plugins/objects.py b/django/contrib/databrowse/plugins/objects.py new file mode 100644 index 0000000000..7326566655 --- /dev/null +++ b/django/contrib/databrowse/plugins/objects.py @@ -0,0 +1,14 @@ +from django import http +from django.contrib.databrowse.datastructures import EasyModel +from django.contrib.databrowse.sites import DatabrowsePlugin +from django.shortcuts import render_to_response +import urlparse + +class ObjectDetailPlugin(DatabrowsePlugin): + def model_view(self, request, model_databrowse, url): + # If the object ID wasn't provided, redirect to the model page, which is one level up. + if url is None: + return http.HttpResponseRedirect(urlparse.urljoin(request.path, '../')) + easy_model = EasyModel(model_databrowse.site, model_databrowse.model) + obj = easy_model.object_by_pk(url) + return render_to_response('databrowse/object_detail.html', {'object': obj, 'root_url': model_databrowse.site.root_url}) |
