Skip to content

Commit a3ec026

Browse files
committed
Fix view that lists already uploaded files.
Transform PictureListView to a generic ListView Fix url to use as_view()
1 parent ce66fc1 commit a3ec026

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

fileupload/urls.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# encoding: utf-8
22
from django.conf.urls import patterns, url
3-
from fileupload.views import BasicVersionCreateView, BasicPlusVersionCreateView, PictureCreateView, AngularVersionCreateView, jQueryVersionCreateView, PictureDeleteView
3+
from fileupload.views import (
4+
BasicVersionCreateView, BasicPlusVersionCreateView,
5+
jQueryVersionCreateView, AngularVersionCreateView,
6+
PictureCreateView, PictureDeleteView, PictureListView,
7+
)
48

59
urlpatterns = patterns('',
610
(r'^basic/$', BasicVersionCreateView.as_view(), {}, 'upload-basic'),
@@ -9,7 +13,7 @@
913
(r'^angular/$', AngularVersionCreateView.as_view(), {}, 'upload-angular'),
1014
(r'^jquery-ui/$', jQueryVersionCreateView.as_view(), {}, 'upload-jquery'),
1115
(r'^delete/(?P<pk>\d+)$', PictureDeleteView.as_view(), {}, 'upload-delete'),
12-
url(r'^view/$', 'fileupload.views.PictureListView', name='upload-view'),
16+
url(r'^view/$', PictureListView.as_view(), name='upload-view'),
1317
)
1418

1519

fileupload/views.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# encoding: utf-8
2-
from django.views.generic import CreateView, DeleteView, View
2+
from django.views.generic import CreateView, DeleteView, ListView
33
from .models import Picture
44
from .response import JSONResponse, response_mimetype
55
from .serialize import serialize
@@ -44,12 +44,12 @@ def delete(self, request, *args, **kwargs):
4444
return response
4545

4646

47-
class PictureListView(View):
48-
def get(self, request, *args, **kwargs):
49-
files = []
50-
for obj in Picture.objects.all():
51-
files.append(serialize(obj))
47+
class PictureListView(ListView):
48+
model = Picture
49+
50+
def render_to_response(self, context, **response_kwargs):
51+
files = [ serialize(p) for p in self.get_queryset() ]
5252
data = {'files': files}
53-
response = JSONResponse(data, mimetype=response_mimetype(request))
53+
response = JSONResponse(data, mimetype=response_mimetype(self.request))
5454
response['Content-Disposition'] = 'inline; filename=files.json'
5555
return response

0 commit comments

Comments
 (0)