123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- from django.db import models
- from django.conf import settings
- from PIL import Image
- from apps.tenant.models import Tenant
- from utils.file_operation import UploadFile, DeleteFile
- class OperationHelp(models.Model):
- title = models.CharField(verbose_name=u'标题', max_length=100)
- content = models.TextField(verbose_name=u'内容')
- create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u"创建人", on_delete=models.PROTECT,
- editable=False)
- create_time = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)
- enable = models.BooleanField(verbose_name=u"在用", default=True)
- tenant = models.ForeignKey(Tenant, verbose_name=u'企业', editable=False, on_delete=models.PROTECT)
- class Meta:
- db_table = 'operation_help'
- ordering = ['-id', 'tenant']
- verbose_name = u'运维帮助'
- class OperationHelpImg(models.Model):
- operation_help = models.ForeignKey(OperationHelp,verbose_name=u'运维帮助', on_delete=models.PROTECT,null=True)
- image = models.CharField(verbose_name=u'图片路径', max_length=250)
- width = models.IntegerField(verbose_name=u"图片宽度")
- height = models.IntegerField(verbose_name=u"图片高度")
- tenant = models.ForeignKey(Tenant, verbose_name=u'企业', editable=False, on_delete=models.PROTECT, null=True)
- class Meta:
- db_table = 'operation_help_img'
- ordering = ['-id']
- verbose_name = u'运维帮助图片'
- def _add_img(self,file,user_id):
- width = None
- height = None
- path = "operation_help_img/"
- filename = UploadFile(file, path, user_id)
- fullname = "%s%s" % (settings.MEDIA_ROOT, filename)
- try:
- img = Image.open(fullname)
- width, height = img.size
- # 缩略图压缩宽或高最大200
- if width > 1440:
- img = img.resize((1440, int((height / width) * 1440)), Image.ANTIALIAS)
- img.save(fullname)
- width, height = img.size
- except:
- pass
- self.image = "%s%s" % (settings.MEDIA_URL, filename)
- self.width = width
- self.height = height
- self.save()
- def del_images(self):
- image = self.image
- # self.delete()
- DeleteFile(image)
- class OperationHelpRadio(models.Model):
- operation_help = models.ForeignKey(OperationHelp, verbose_name=u'运维帮助', on_delete=models.PROTECT, null=True)
- radio_path = models.CharField(verbose_name=u'视频路径', max_length=250)
- radio_size = models.FloatField(verbose_name="视频大小",blank=True, default=0)
- radio_time = models.FloatField(verbose_name="视频时长",blank=True, default=0)
- tenant = models.ForeignKey(Tenant, verbose_name=u'企业', editable=False, on_delete=models.PROTECT, null=True)
- class Meta:
- db_table = 'operation_help_radio'
- ordering = ['-id']
- verbose_name = u'运维帮助视频'
- def _add_radio(self, file, user_id):
- path = "operation_help_radio/"
- filename = UploadFile(file, path, user_id)
- fullname = "%s%s" % (settings.MEDIA_ROOT, filename)
- # try:
- # img = Image.open(fullname)
- # width, height = img.size
- # # 缩略图压缩宽或高最大200
- # if width > 1440:
- # img = img.resize((1440, int((height / width) * 1440)), Image.ANTIALIAS)
- # img.save(fullname)
- # width, height = img.size
- # except:
- # pass
- self.radio_path = "%s%s" % (settings.MEDIA_URL, filename)
- self.save()
- def del_radio(self):
- radio = self.radio_path
- # self.delete()
- DeleteFile(radio)
|