david / django-modelviews
Backup of an old repository with useful ideas. Initial goal: integrating REST to django admin (class-based views).
Clone this repository (size: 85.8 KB): HTTPS / SSH
$ hg clone http://code.welldev.org/django-modelviews
| commit 43: | 82f1d682d560 |
| parent 42: | c2d5c46b1265 |
| branch: | default |
Remove BaseDetailView dependency (previous commit was a typo
2 years ago
Changed (Δ956 bytes):
raw changeset »
generic/compatability.py (0 lines added, 23 lines removed)
generic/rest_views.py (1 lines added, 1 lines removed)
Up to file-list generic/compatability.py:
| … | … | @@ -30,26 +30,3 @@ class BaseView(object): |
30 |
30 |
context = RequestContext(request, context_vars) |
31 |
31 |
template = template.render(context) |
32 |
32 |
return HttpResponse(template, mimetype=mimetype) |
33 |
||
34 |
class BaseDetailView(BaseView): |
|
35 |
def __init__(self, queryset, slug_field='slug'): |
|
36 |
self.slug_field = slug_field |
|
37 |
super(BaseDetailView, self).__init__(queryset) |
|
38 |
||
39 |
def get_object(self, request, object_pk=None, slug=None): |
|
40 |
""" |
|
41 |
Returns the object to be viewed, changed or deleted, or raises a 404 |
|
42 |
if it doesn't exist. |
|
43 |
""" |
|
44 |
# Look up the object to be changed or deleted |
|
45 |
lookup_kwargs = {} |
|
46 |
if object_pk: |
|
47 |
lookup_kwargs['pk'] = object_pk |
|
48 |
elif slug and self.slug_field: |
|
49 |
lookup_kwargs[self.slug_field] = slug |
|
50 |
else: |
|
51 |
raise AttributeError("Generic view must be called with either an object_pk or a slug/slug_field") |
|
52 |
try: |
|
53 |
return self.get_query_set(request).get(**lookup_kwargs) |
|
54 |
except ObjectDoesNotExist: |
|
55 |
raise Http404, "No %s found for %s" % (self.model._meta.verbose_name, lookup_kwargs) |
Up to file-list generic/rest_views.py:
| … | … | @@ -99,7 +99,7 @@ class ModelView(BaseView): |
99 |
99 |
self.methods = dict(zip(methods, len(methods)*(False,))) |
100 |
100 |
else: |
101 |
101 |
self.methods = methods |
102 |
super(ModelView, self).__init__(queryset |
|
102 |
super(ModelView, self).__init__(queryset) |
|
103 |
103 |
|
104 |
104 |
|
105 |
105 |
def __call__(self, request, object_pk=None, slug=None, format='html', **kwargs): |
