web/lib/django/views/generic/list_detail.py
changeset 29 cc9b7e14412b
parent 0 0d40e90630ef
equal deleted inserted replaced
28:b758351d191f 29:cc9b7e14412b
   118     if object_id:
   118     if object_id:
   119         queryset = queryset.filter(pk=object_id)
   119         queryset = queryset.filter(pk=object_id)
   120     elif slug and slug_field:
   120     elif slug and slug_field:
   121         queryset = queryset.filter(**{slug_field: slug})
   121         queryset = queryset.filter(**{slug_field: slug})
   122     else:
   122     else:
   123         raise AttributeError, "Generic detail view must be called with either an object_id or a slug/slug_field."
   123         raise AttributeError("Generic detail view must be called with either an object_id or a slug/slug_field.")
   124     try:
   124     try:
   125         obj = queryset.get()
   125         obj = queryset.get()
   126     except ObjectDoesNotExist:
   126     except ObjectDoesNotExist:
   127         raise Http404, "No %s found matching the query" % (model._meta.verbose_name)
   127         raise Http404("No %s found matching the query" % (model._meta.verbose_name))
   128     if not template_name:
   128     if not template_name:
   129         template_name = "%s/%s_detail.html" % (model._meta.app_label, model._meta.object_name.lower())
   129         template_name = "%s/%s_detail.html" % (model._meta.app_label, model._meta.object_name.lower())
   130     if template_name_field:
   130     if template_name_field:
   131         template_name_list = [getattr(obj, template_name_field), template_name]
   131         template_name_list = [getattr(obj, template_name_field), template_name]
   132         t = template_loader.select_template(template_name_list)
   132         t = template_loader.select_template(template_name_list)