@@ -15,3 +15,7 @@ urlpatterns += [ |
||
15 | 15 |
url(r'^uuid$', photo_views.uuid, name='uuid'), |
16 | 16 |
url(r'^photos/upload$', photo_views.upload_photo, name='upload_photo'), |
17 | 17 |
] |
18 |
+ |
|
19 |
+urlpatterns += [ |
|
20 |
+ url(r'^s/(?P<session>\w+)$', photo_views.session_detail_api, name='session_detail_api'), |
|
21 |
+] |
@@ -71,4 +71,14 @@ class PhotosInfo(CreateUpdateMixin): |
||
71 | 71 |
'photo': self.photo_id, |
72 | 72 |
} |
73 | 73 |
|
74 |
+ def _detail(self): |
|
75 |
+ return { |
|
76 |
+ 'pk': self.pk, |
|
77 |
+ 'user': self.lensman_id, |
|
78 |
+ 'session': self.session_id, |
|
79 |
+ 'photo': self.photo_id, |
|
80 |
+ 'photo_url': self.p_photo_url, |
|
81 |
+ } |
|
82 |
+ |
|
74 | 83 |
data = property(_data) |
84 |
+ detail = property(_detail) |
@@ -113,6 +113,17 @@ def upload_photo(request): |
||
113 | 113 |
}) |
114 | 114 |
|
115 | 115 |
|
116 |
+def session_detail_api(request, session): |
|
117 |
+ photos = PhotosInfo.objects.filter(session_id=session) |
|
118 |
+ return JsonResponse({ |
|
119 |
+ 'status': 200, |
|
120 |
+ 'data': { |
|
121 |
+ 'count': photos.count(), |
|
122 |
+ 'photos': [p.detail for p in photos] |
|
123 |
+ } |
|
124 |
+ }) |
|
125 |
+ |
|
126 |
+ |
|
116 | 127 |
def session_detail(request, session): |
117 | 128 |
photos = PhotosInfo.objects.filter(session_id=session) |
118 | 129 |
return render(request, 'photo/session_detail.html', {'photos': photos}) |