@@ -0,0 +1,34 @@ |
||
| 1 |
+# -*- coding: utf-8 -*- |
|
| 2 |
+from __future__ import unicode_literals |
|
| 3 |
+ |
|
| 4 |
+from django.db import models, migrations |
|
| 5 |
+ |
|
| 6 |
+ |
|
| 7 |
+class Migration(migrations.Migration): |
|
| 8 |
+ |
|
| 9 |
+ dependencies = [ |
|
| 10 |
+ ('group', '0013_groupinfo_group_default_avatar'),
|
|
| 11 |
+ ] |
|
| 12 |
+ |
|
| 13 |
+ operations = [ |
|
| 14 |
+ migrations.AddField( |
|
| 15 |
+ model_name='groupphotoinfo', |
|
| 16 |
+ name='photo_h', |
|
| 17 |
+ field=models.IntegerField(default=0, help_text='\u7167\u7247\u9ad8\u5ea6', verbose_name='photo_h'), |
|
| 18 |
+ ), |
|
| 19 |
+ migrations.AddField( |
|
| 20 |
+ model_name='groupphotoinfo', |
|
| 21 |
+ name='photo_thumbnail_h', |
|
| 22 |
+ field=models.IntegerField(default=0, help_text='\u7167\u7247\u7f29\u7565\u56fe\u9ad8\u5ea6', verbose_name='photo_thumbnail_h'), |
|
| 23 |
+ ), |
|
| 24 |
+ migrations.AddField( |
|
| 25 |
+ model_name='groupphotoinfo', |
|
| 26 |
+ name='photo_thumbnail_w', |
|
| 27 |
+ field=models.IntegerField(default=0, help_text='\u7167\u7247\u7f29\u7565\u56fe\u5bbd\u5ea6', verbose_name='photo_thumbnail_w'), |
|
| 28 |
+ ), |
|
| 29 |
+ migrations.AddField( |
|
| 30 |
+ model_name='groupphotoinfo', |
|
| 31 |
+ name='photo_w', |
|
| 32 |
+ field=models.IntegerField(default=0, help_text='\u7167\u7247\u5bbd\u5ea6', verbose_name='photo_w'), |
|
| 33 |
+ ), |
|
| 34 |
+ ] |
@@ -116,7 +116,11 @@ class GroupPhotoInfo(CreateUpdateMixin): |
||
| 116 | 116 |
user_id = models.CharField(_(u'user_id'), max_length=255, blank=True, null=True, help_text=u'用户唯一标识') |
| 117 | 117 |
nickname = models.CharField(_(u'nickname'), max_length=255, blank=True, null=True, help_text=u'用户群组昵称') |
| 118 | 118 |
photo_path = models.CharField(_(u'photo_path'), max_length=255, blank=True, null=True, help_text=u'照片存放路径') |
| 119 |
+ photo_w = models.IntegerField(_(u'photo_w'), default=0, help_text=u'照片宽度') |
|
| 120 |
+ photo_h = models.IntegerField(_(u'photo_h'), default=0, help_text=u'照片高度') |
|
| 119 | 121 |
photo_thumbnail_path = models.CharField(_(u'photo_thumbnail_path'), max_length=255, blank=True, null=True, help_text=u'照片缩略图存放路径') |
| 122 |
+ photo_thumbnail_w = models.IntegerField(_(u'photo_thumbnail_w'), default=0, help_text=u'照片缩略图宽度') |
|
| 123 |
+ photo_thumbnail_h = models.IntegerField(_(u'photo_thumbnail_h'), default=0, help_text=u'照片缩略图高度') |
|
| 120 | 124 |
comment_num = models.IntegerField(_(u'comment_num'), default=0, help_text=u'照片评论数量') |
| 121 | 125 |
thumbup_num = models.IntegerField(_(u'thumbup_num'), default=0, help_text=u'照片点赞数量') |
| 122 | 126 |
|
@@ -141,7 +145,11 @@ class GroupPhotoInfo(CreateUpdateMixin): |
||
| 141 | 145 |
'user_id': self.user_id, |
| 142 | 146 |
'photo_id': self.pk, |
| 143 | 147 |
'photo_url': self.photo_url, |
| 148 |
+ 'photo_w': self.photo_w, |
|
| 149 |
+ 'photo_h': self.photo_h, |
|
| 144 | 150 |
'photo_thumbnail_url': self.photo_thumbnail_url, |
| 151 |
+ 'photo_thumbnail_w': self.photo_thumbnail_w, |
|
| 152 |
+ 'photo_thumbnail_h': self.photo_thumbnail_h, |
|
| 145 | 153 |
'comment_num': self.comment_num, |
| 146 | 154 |
'thumbup_num': self.thumbup_num, |
| 147 | 155 |
} |
@@ -402,7 +402,7 @@ def flyimg_upload_api(request): |
||
| 402 | 402 |
default_storage.delete(photo_thumbnail_path) |
| 403 | 403 |
default_storage.save(photo_thumbnail_path, photo) |
| 404 | 404 |
|
| 405 |
- make_thumb( |
|
| 405 |
+ photo_w, photo_h, photo_thumbnail_w, photo_thumbnail_h = make_thumb( |
|
| 406 | 406 |
os.path.join(settings.MEDIA_ROOT, photo_thumbnail_path).replace('\\', '/'),
|
| 407 | 407 |
settings.THUMBNAIL_MAX_WIDTH |
| 408 | 408 |
) |
@@ -412,7 +412,11 @@ def flyimg_upload_api(request): |
||
| 412 | 412 |
user_id=user_id, |
| 413 | 413 |
nickname=nickname, |
| 414 | 414 |
photo_path=photo_path, |
| 415 |
+ photo_w=photo_w, |
|
| 416 |
+ photo_h=photo_h, |
|
| 415 | 417 |
photo_thumbnail_path=photo_thumbnail_path, |
| 418 |
+ photo_thumbnail_w=photo_thumbnail_w, |
|
| 419 |
+ photo_thumbnail_h=photo_thumbnail_h, |
|
| 416 | 420 |
) |
| 417 | 421 |
|
| 418 | 422 |
group_photos = GroupPhotoInfo.objects.filter( |
@@ -649,7 +653,7 @@ def pai2_home_api(request): |
||
| 649 | 653 |
num = int(request.POST.get('num', settings.PAI2_HOME_PER_PAGE))
|
| 650 | 654 |
|
| 651 | 655 |
cursor = connection.cursor() |
| 652 |
- cursor.execute(r"select T1.group_id, T2.group_name, T2.group_default_avatar, T2.group_avatar, T3.photo_thumbnail_path, T3.comment_num, T3.thumbup_num, T3.created_at from (select * from group_groupuserinfo where user_id='{user_id}') as T1 left outer join group_groupinfo as T2 on T1.group_id = T2.group_id left outer join group_groupphotoinfo as T3 on T1.group_id = T3.group_id and T3.id > T1.current_id order by T3.id desc, T3.thumbup_num desc limit {offset}, {rows};".format(
|
|
| 656 |
+ cursor.execute(r"select T1.group_id, T2.group_name, T2.group_default_avatar, T2.group_avatar, T3.photo_thumbnail_path, T3.photo_thumbnail_w, T3.photo_thumbnail_h, T3.comment_num, T3.thumbup_num, T3.created_at from (select * from group_groupuserinfo where user_id='{user_id}') as T1 left outer join group_groupinfo as T2 on T1.group_id = T2.group_id left outer join group_groupphotoinfo as T3 on T1.group_id = T3.group_id and T3.id > T1.current_id order by T3.id desc, T3.thumbup_num desc limit {offset}, {rows};".format(
|
|
| 653 | 657 |
user_id=user_id, |
| 654 | 658 |
offset=0, |
| 655 | 659 |
rows=settings.PAI2_HOME_MAX_ROWS, |
@@ -664,9 +668,11 @@ def pai2_home_api(request): |
||
| 664 | 668 |
'group_default_avatar': row[2], |
| 665 | 669 |
'group_avatar': row[3], |
| 666 | 670 |
'photo_thumbnail_url': u'{0}/{1}'.format(settings.IMG_DOMAIN, row[4]) if row[4] else '',
|
| 667 |
- 'comment_num': row[5], |
|
| 668 |
- 'thumbup_num': row[6], |
|
| 669 |
- 'created_at': row[7], |
|
| 671 |
+ 'photo_thumbnail_w': row[5], |
|
| 672 |
+ 'photo_thumbnail_h': row[6], |
|
| 673 |
+ 'comment_num': row[7], |
|
| 674 |
+ 'thumbup_num': row[8], |
|
| 675 |
+ 'created_at': row[9], |
|
| 670 | 676 |
} for row in rows] |
| 671 | 677 |
|
| 672 | 678 |
return JsonResponse({
|
@@ -15,3 +15,4 @@ def make_thumb(im_path, max_width=360): |
||
| 15 | 15 |
thumb_height = height / width * thumb_width |
| 16 | 16 |
im.thumbnail((thumb_width, thumb_height)) |
| 17 | 17 |
im.save(im_path, im.format or 'JPEG') |
| 18 |
+ return width, height, thumb_width, thumb_height |