Example #1
0
class GalleryList(models.Model):
    PIC_CAT_CHOICES = (('Event', 'Event'), ('Summer', 'Summer'),
                       ('Future', 'Future'), ('Building', 'Building'),
                       ('About', 'About'), ('Volunteers', 'Volunteers'),
                       ('Youth Leadership', 'Youth Leadership'), ('Gallary',
                                                                  'Gallary'))
    title = models.CharField(max_length=100)
    gallery_image = ResizedImageField(size=[800, 530],
                                      blank=False,
                                      null=False,
                                      upload_to='gallary_pics')
    date_upload = models.DateTimeField(auto_now_add=True)
    featured = models.BooleanField(default=True)
    pic_cat = models.CharField(max_length=30,
                               choices=PIC_CAT_CHOICES,
                               default='Gallary')

    def __str__(self):
        return self.title
Example #2
0
class Picture(models.Model):
    restaurant = models.ForeignKey(Restaurant,
                                   related_name='gallery',
                                   on_delete=models.CASCADE)

    image = ResizedImageField(size=[600, 600],
                              upload_to=gallery_component,
                              quality=95,
                              crop=['middle', 'center'],
                              keep_meta=False,
                              force_format='PNG')
    name = models.CharField(max_length=100, default='')
    description = models.TextField(blank=True, null=True, default='')

    def __str__(self):
        return self.name

    def get_image(self):
        return self.image.url
Example #3
0
class Image(TimeStampedModel):
    post = ForeignKey(Post, on_delete=CASCADE)
    image = ResizedImageField(_("Upload Post Image"),
                              quality=75,
                              force_format='JPEG',
                              size=[1920, 1148],
                              crop=['middle', 'center'],
                              upload_to=blog_image_path,
                              null=True,
                              blank=True)

    def __str__(self):
        return self.post.title

    class Meta:
        managed = True
        verbose_name = "Post Files"
        verbose_name_plural = "Post Files"
        ordering = ["-created"]
Example #4
0
class Tag(models.Model):
    alphanumeric = RegexValidator(r'^[0-9a-zA-Zぁ-んァ-ヶー一-龠]*$', '大小英数字+だけね')
    name = models.CharField(_('タグ'),
                            max_length=150,
                            blank=True,
                            validators=[alphanumeric])
    logo = ResizedImageField(_('logo'),
                             upload_to='tag/',
                             size=[200, 200],
                             crop=['middle', 'center'],
                             blank=True,
                             null=True)

    def __str__(self):
        return self.name

    class Meta:
        verbose_name = _('タグ')
        verbose_name_plural = _('タグ')
Example #5
0
class Post(models.Model):
    tytul = models.CharField(max_length=60, blank=True)
    opis = models.CharField(max_length=800, blank=True, null=True)
    autor = models.ForeignKey(User, on_delete=models.CASCADE, default='')
    data = models.DateTimeField(auto_now_add=True)
    picture = ResizedImageField(size=[900, 700],
                                quality=40,
                                upload_to='gallery/',
                                blank=True)
    category = models.CharField(max_length=100, blank=True)
    city = models.CharField(max_length=100, blank=True)

    def delete(self, *args, **kwargs):
        if self.picture:
            self.picture.delete()
        super().delete(*args, **kwargs)

    def __str__(self):
        return str(self.autor) + ' - Post Id: ' + str(self.id)
Example #6
0
class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    image = ResizedImageField(
        upload_to='image/', quality=75, crop=['middle', 'center'], size=[600, 300], blank=True, null=True)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('post-detail', kwargs={'pk': self.pk})


# added for image per blog

    def upload_image(self, filename):
        return 'post/{}/{}'.format(self.title, filename)
Example #7
0
class ProductImage(TimeStampedModel):
    category = [
        ("thumbnail", "thumbnail"),
        ("other", "other"),
    ]
    product = models.ForeignKey(Product,
                                related_name="images",
                                on_delete=models.CASCADE)
    image = ResizedImageField(size=[120, 120], quality=75)
    img_category = models.CharField(max_length=20,
                                    choices=category,
                                    default="other")

    def __str__(self):
        return "{} {}".format(self.product.name, self.img_category)

    class Meta:
        db_table = "product_images"
        ordering = ["-created_at"]
Example #8
0
class Story(models.Model):
    title = models.CharField(max_length=100)
    date_posted = models.DateTimeField(auto_now_add=True)
    author = models.ForeignKey(User,
                               on_delete=models.CASCADE,
                               blank=True,
                               null=True,
                               related_name='author')
    categories = models.ForeignKey(Category, on_delete=models.DO_NOTHING)
    thumbnail = ResizedImageField(size=[500, 300],
                                  upload_to='image',
                                  blank=True,
                                  null=True)

    def __str__(self):
        return self.title

    class Meta:
        verbose_name_plural = "Stories"
Example #9
0
class Profile(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    user = models.OneToOneField(User, on_delete=models.CASCADE)

    # USER DATA
    profile_picture = ResizedImageField(blank=True, null=True, upload_to=rename_file)
    birthdate = models.DateField(blank=True, null=True, default=None)
    company_name = models.CharField(max_length=200, blank=True, default="")

    #PAYMENT
    paying_user = models.ForeignKey("Profile", on_delete=models.CASCADE, blank=True, null=True)
    allow_postpaid = models.BooleanField(default=False)
    commercial_account = models.BooleanField(default=False)  # == mit mwst
    discount_account = models.BooleanField(default=False)  # z.b. < 16 Jahre
    monthly_payment = models.BooleanField(default=False)  # monatlich oder tagesaccount
    prepaid_deposit = models.FloatField(default=0)

    # ADDRESS
    street = models.CharField(max_length=200, blank=True, default="")
    postalcode = models.CharField(max_length=200, default="", blank=True)
    city = models.CharField(max_length=200, blank=True, default="")

    def __str__(self):
        if self.company_name != "":
            return "%s, %s. %s" % (self.company_name, self.user.first_name[0].upper(), self.user.last_name)
        return "%s %s" % (self.user.first_name, self.user.last_name)

    def get_current_token(self):
        tokens = Token.objects.filter(enabled=True, profile=self)
        if len(tokens) == 0:
            return None
        return tokens[0]

    def is_underage(self):
        if self.birthdate is None:
            return False
        return timezone.now().date() - self.birthdate < timedelta(days=365*18)

    def get_paying_user(self):
        if self.paying_user is None:
            return self
        return self.paying_user
Example #10
0
class BusinessImage(DateModel):
    category = [
        ("thumbnail", "thumbnail"),
        ("other", "other"),
        ("top_slideshow", "slideshow"),
    ]
    business = models.ForeignKey(Business,
                                 related_name="images",
                                 on_delete=models.CASCADE)
    image = ResizedImageField(size=[480, 350], quality=75)
    img_category = models.CharField(max_length=20,
                                    choices=category,
                                    default="other")

    def __str__(self):
        return "{} {}".format(self.business.name, self.img_category)

    class Meta:
        db_table = "business_images"
Example #11
0
class Astronaut(models.Model):
    name = models.CharField(max_length=255)

    birth_date = models.DateField(null=True, blank=True)

    space_agency = models.ForeignKey(SpaceAgency, on_delete=models.CASCADE)

    photo = ResizedImageField(size=[1200, 1200],
                              upload_to=upload_to,
                              null=True,
                              blank=True)
    biography = models.TextField(null=True, blank=True)

    class Meta:
        verbose_name = 'Astronaut'
        verbose_name_plural = 'Astronauts'

    def __str__(self):
        return '{}'.format(self.name)
Example #12
0
class Article(models.Model):
    title = models.CharField(max_length=200, blank=True, null=True)
    author = models.CharField(max_length=100, blank=True, null=True)
    pdf = models.FileField(upload_to="article_pdfs", blank=True, null=True)
    article_image = ResizedImageField(
        size=[1000, 550],
        quality=100,
        blank=True,
        default="article_default.jpg",
        upload_to="article_images",
    )
    date_posted = models.DateTimeField(auto_now_add=True)

    class Meta:
        verbose_name_plural = "Articles"
        ordering = ["-date_posted"]

    def __str__(self):
        return self.title
Example #13
0
class Motors(models.Model):
    title = models.CharField(max_length=110, blank=True, null=True)
    number = models.CharField(max_length=11, blank=True, null=True)
    image = ResizedImageField(size=[300, 300],
                              quality=50,
                              upload_to='images/',
                              blank=True,
                              null=True,
                              verbose_name="وێنه‌")
    status = models.BooleanField(default=False)

    def __str__(self):
        return str(self.title)

    def __unicode__(self):
        return

    class Meta:
        verbose_name_plural = "Motors"
Example #14
0
class Photo(models.Model):
    album = models.ForeignKey(Album, verbose_name='Дочерняя категория')
    title = models.CharField(max_length=255,
                             blank=True,
                             default='',
                             verbose_name='Фото')
    file = ResizedImageField(size=[800, 800],
                             crop=['middle', 'center'],
                             upload_to='Photogallery',
                             verbose_name='Фотографии')
    order = models.CharField(max_length=100,
                             blank=True,
                             verbose_name='Порядок отображения(От 1 до..)',
                             default='')

    class Meta:
        verbose_name = "Фото"
        verbose_name_plural = "Фото"

    def image_img(self):
        if self.file:
            return u'<a href="{0}" target="_blank"><img src="{0}" width="200"/></a>'.format(
                self.file.url)
        else:
            return '(Нет изображения)'

    image_img.short_description = 'Картинка'
    image_img.allow_tags = True

    def delete(self, using=None):
        try:
            obj = Photo.objects.get(pk=self.pk)
            obj.file.delete()
        except (Photo.DoesNotExist, ValueError):
            pass
        super(Photo, self).delete()

    def get_absolute_url(self):
        return self.file.url

    def __unicode__(self):
        return self.title
Example #15
0
class Profile(models.Model):

    GENEROS = (
        ('M', 'Masculino'),
        ('F', 'Femenino'),
    )

    user = models.OneToOneField(User, on_delete=models.CASCADE)
    recruited_date = models.DateField("Fecha de Contratacion",
                                      null=True,
                                      blank=True)
    birth_date = models.DateField("Fecha de Nacimiento", null=True, blank=True)
    gender = models.CharField("Genero",
                              choices=GENEROS,
                              max_length=144,
                              null=True,
                              blank=True)
    job_title = models.CharField("Puesto",
                                 max_length=144,
                                 null=True,
                                 blank=True)
    department = models.CharField("Departamento",
                                  max_length=144,
                                  null=True,
                                  blank=True)
    phone = models.CharField("Telefono", max_length=144, null=True, blank=True)
    address = models.CharField("Dirección",
                               max_length=255,
                               null=True,
                               blank=True)
    photo = ResizedImageField(
        "Foto",
        upload_to=Helper.get_ImagePath_Profile,
        quality=75,
        blank=True,
        keep_meta=False,
        validators=[Helper.validate_Img_Extension, Helper.validate_Size])
    reset_password = models.BooleanField("Reset Contraseña", default=True)
    first_login = models.BooleanField("Primer Login", default=True)

    def __unicode__(self):
        return self.user.get_full_name()
class Post(models.Model):
    STATUS = ((0, "Draft"), (1, "Publish"))

    field = models.ForeignKey(Category, on_delete=models.CASCADE)
    title = models.CharField(max_length=200, unique=True)
    slug = models.SlugField(max_length=200, unique=True, null=False)
    author = models.ForeignKey(User,
                               on_delete=models.CASCADE,
                               default=get_default_user)
    content = RichTextUploadingField()
    img = ResizedImageField(size=[1600, 1200],
                            upload_to="post_pics",
                            default="default.jpg")
    created_on = models.DateTimeField(auto_now_add=True)
    status = models.IntegerField(choices=STATUS, default=0)
    objects = models.Manager()
    tags = TaggableManager()
    published = PublishedManager()

    class Meta:
        ordering = ["status", "-created_on"]

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse("blog:post_detail", kwargs={"slug": self.slug})

    @property
    def get_thumbnail(self):
        return get_thumbnailer(self.img)["avatar"].url

    @property
    def get_image(self):
        return self.img.url

    def recomended_posts(self):
        tags = self.tags.values_list("id", flat=True)
        posts = Post.published.filter(tags__in=tags).exclude(id=self.id)
        posts = posts.annotate(same_tags=Count("tags")).order_by(
            "-same_tags", "-created_on")
        return posts
Example #17
0
class Category(models.Model):
    """
    Represents a product category.
    """
    articlenr_start = models.CharField(blank=True,
                                       null=True,
                                       max_length=8,
                                       verbose_name="Kategorienummer",
                                       unique=True,
                                       help_text="")
    name = models.CharField(blank=False,
                            null=False,
                            max_length=255,
                            verbose_name="Kategoriebezeichnung")
    description = models.TextField(blank=True,
                                   null=True,
                                   verbose_name="Beschreibung")
    image = ResizedImageField(storage=fs,
                              size=[500, 500],
                              upload_to='stock/categories/',
                              blank=True,
                              null=True,
                              help_text='Product picture.')
    color = models.CharField(
        validators=[
            RegexValidator(regex="^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
                           message="Must be a hexcode (e.g. #000 or #000000)",
                           code="invalid_hexcode")
        ],
        help_text=
        "Colour code to use for this category (hex value, i.e. #000 or #000000)",
        blank=True,
        null=True,
        max_length=7)
    history = HistoricalRecords()

    def __str__(self):
        return u"{}".format(self.name)

    class Meta:
        verbose_name_plural = "Categories"
        ordering = ['articlenr_start', 'name']
Example #18
0
class UserProfile(AbstractBaseUser, PermissionsMixin):
    """DB model for the users"""
    date_format = '%d-%m-%Y %H:%M:%S'

    nric_number = models.CharField(max_length=255, default='', unique=True)
    name = models.CharField(max_length=255)
    company = models.CharField(max_length=255, default='')
    mobile_number = models.CharField(max_length=255, default='')
    # photo = models.FileField(upload_to='photos/', default='', null=True)
    photo = ResizedImageField(size=[640, 480],
                              upload_to='photos/',
                              blank=True,
                              null=True,
                              default='')
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    is_pdpa_checked = models.BooleanField(default=False)
    reg_date = models.DateField(default=timezone.now)
    last_access_date = models.DateField(default=timezone.now)

    objects = UserProfileManager()

    USERNAME_FIELD = 'nric_number'
    REQUIRED_FIELDS = ['name']

    #calling image compression function before saving the data
    def save(self, *args, **kwargs):
        new_image = compress(self.photo)
        self.photo = new_image
        super().save(*args, **kwargs)

    def get_full_name(self):
        """Get full name of the user"""
        return self.name

    def get_short_name(self):
        """Get short name of the user"""
        return self.name

    def __str__(self):
        """Render string in the admin"""
        return self.name + ' - ' + self.nric_number
Example #19
0
class Post(models.Model):
    title = models.CharField(max_length=100)
    overview = models.TextField()
    content = HTMLField()
    date_posted = models.DateTimeField(auto_now_add=True)
    event_date = models.DateField(null=True,
                                  blank=True,
                                  help_text='YYYY-MM-DD')
    sort = models.IntegerField(default=999)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    #view_count = models.IntegerField(default=0)
    hit_count_generic = GenericRelation(
        HitCount,
        object_id_field='object_pk',
        related_query_name='hit_count_generic_relation')
    #thumbnail = models.ImageField()
    thumbnail = ResizedImageField(size=[800, 530],
                                  blank=False,
                                  null=False,
                                  upload_to='post_pics')
    categories = models.ManyToManyField(Category)
    previous_post = models.ForeignKey('self',
                                      related_name='previous',
                                      on_delete=models.SET_NULL,
                                      blank=True,
                                      null=True)
    next_post = models.ForeignKey('self',
                                  related_name='next',
                                  on_delete=models.SET_NULL,
                                  blank=True,
                                  null=True)
    featured = models.BooleanField(default=False)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('post-detail', kwargs={'pk': self.pk})

    @property
    def number_of_comments(self):
        return Comment.objects.filter(blogpost_connected=self).count()
Example #20
0
class Student(models.Model):
    first_name = models.CharField(max_length=255)
    father_name = models.CharField(max_length=255)
    surname = models.CharField(max_length=255)
    grand_father_name = models.CharField(max_length=255)
    mother_name = models.CharField(max_length=255)

    full_name = models.CharField(max_length=255)
    place_of_birth = models.CharField(max_length=255)
    birth_date = models.DateField()
    gender = models.CharField(max_length=255, choices=GENDER)
    cell_phone = models.CharField(max_length=255, null=True, blank=True)
    age = models.PositiveSmallIntegerField(null=True, blank=True)
    the_class = models.ForeignKey(TheClass,
                                  related_name='students',
                                  on_delete=models.CASCADE)
    classroom = models.ForeignKey(ClassRoom,
                                  related_name='students',
                                  on_delete=models.CASCADE)
    nid_number = models.CharField(max_length=255, null=True, blank=True)
    nationality = models.CharField(max_length=255,
                                   default='ليبي',
                                   choices=NATIONALITY)
    image = ResizedImageField(size=[300, 300],
                              blank=True,
                              null=True,
                              upload_to=students_image_random_name)
    objects = StudentManager()

    def __str__(self):
        return self.first_name

    def get_absolute_url(self):
        return reverse('students:detail', kwargs={'pk': self.pk})

    def get_std_name(self):
        return "{} {} {}".format(self.first_name, self.father_name,
                                 self.surname)

    def get_full_name(self):
        return "{}  {}  {}  {}".format(self.first_name, self.father_name,
                                       self.grand_father_name, self.surname)
Example #21
0
class Mall(TimeStampedModel):
    name = models.CharField(u'쇼핑몰 이름', max_length=200)
    thumbnail = ResizedImageField(
        u'썸네일',
        size=[900, 900],
        quality=80,
        null=True,
        blank=True,
        crop=['middle', 'center'],
        upload_to='mall/%Y/%m/%d',
    )

    def __str__(self):
        return self.name

    def thumbnail_url(self):
        if self.thumbnail and hasattr(self.thumbnail, 'url'):
            return self.thumbnail.url
        else:
            return static('img/no-product-image.png')
Example #22
0
class Image(models.Model):
    post = models.ForeignKey('album.Calendar',
                             related_name='images',
                             on_delete=models.CASCADE)
    description = models.TextField(blank=True)
    image = ResizedImageField(size=[1600, 1200],
                              upload_to='calendar_image/%Y/%m')
    thumbnail = ImageSpecField(
        source='image',
        processors=[ResizeToFill(700, 700)],  # 처리할 작업 목룍
        format='JPEG',  # 최종 저장 포맷
        options={'quality': 60})  # 저장 옵션
    likes = models.ManyToManyField(settings.AUTH_USER_MODEL,
                                   related_name='image_likes')

    def __str__(self):
        return str(self.pk) + ', ' + str(self.post.title) + '\'s image'

    def total_likes(self):
        return self.likes.count()
Example #23
0
class Post(models.Model):
    id_post = models.AutoField(primary_key=True)
    title = models.CharField(max_length=500, null=False, default=None)
    content = RichTextField()
    image = ResizedImageField(size=[900, 400],
                              crop=['middle', 'center'],
                              upload_to='post')
    category = models.ForeignKey(Category,
                                 on_delete=models.SET_NULL,
                                 null=True)
    author = models.CharField(max_length=500, null=False, default=None)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.title

    def plaintext(self):
        soup = BeautifulSoup(self.content, 'html.parser')
        return soup.text
class User(AbstractUser):

    city = (
        ('Surat', 'Surat'),
        ('Bharuch', 'Bharuch'),
    )
    is_publisher = models.BooleanField(default=False)
    is_customer = models.BooleanField(default=False)
    phone = models.BigIntegerField(default=0,
                                   validators=[
                                       RegexValidator(regex='\d{10}',
                                                      message='invalid number',
                                                      code='invalid_number')
                                   ])
    address = models.CharField(max_length=100, null=True)
    city = models.CharField(max_length=20, null=True, choices=city)
    logo = ResizedImageField(null=True, upload_to='logo/')

    def __str__(self):
        return str(self.username)
Example #25
0
class Profile(models.Model):
    user = models.OneToOneField(User,
                                on_delete=models.CASCADE,
                                related_name='profile')
    nickname = models.CharField(max_length=30, verbose_name='Ник пользователя')
    # resizing the picture to not break the html markup
    profile_pic = ResizedImageField(size=[50, 64],
                                    quality=100,
                                    upload_to='avatars/%Y/%m/%d',
                                    default='avatars/default_pic.png',
                                    verbose_name='Аватар')

    objects = ProfileManager()

    def __str__(self):
        return self.nickname

    class Meta:
        verbose_name = 'Пользователь'
        verbose_name_plural = 'Пользователи'
Example #26
0
class Business(models.Model):
    user = models.OneToOneField(User,
                                related_name='business',
                                on_delete=models.CASCADE)

    avatar = ResizedImageField(size=[250, 250],
                               quality=95,
                               crop=['middle', 'center'],
                               keep_meta=False,
                               upload_to=content_file_name,
                               blank=True,
                               null=True)

    cf = models.CharField(max_length=16, unique=True)
    birth_date = models.DateField()
    city = models.CharField(max_length=50, blank=False)
    address = models.CharField(max_length=150, blank=False)
    n_civ = models.CharField(max_length=10, blank=False)
    cap = models.IntegerField(
        validators=[valids.RegexValidator(regex='[0-9]{5}')], blank=False)
    phone = PhoneNumberField(
        unique=True,
        error_messages={'unique': 'Esiste già un utente con questo numero.'})
    email_activated = models.BooleanField(default=False, auto_created=True)

    activation_token = models.CharField(max_length=200, unique=True)

    def __str__(self):
        return self.user.username

    def get_cf(self):
        return self.cf.upper()

    def get_image(self):
        if not (self.avatar and hasattr(self.avatar, 'url')):
            return settings.MEDIA_URL + 'placeholder/avatars/user.png'
        else:
            return self.avatar.url

    class Meta:
        verbose_name_plural = "Businesses"
Example #27
0
class Moderators(models.Model):
    def _moderator_photo_file(self, filename):
        ext = file_extension(filename)
        slug = slugify(self.name)

        filename = f"{slug}-photo.{ext}"
        return join('img', 'elections', 'moderators', self.slug, filename)

    slug = models.SlugField(unique=True)
    first_name = models.CharField(max_length=256,
                                  verbose_name=_("Moderatoriaus vardas"))
    last_name = models.CharField(max_length=256,
                                 verbose_name=_("Moderatoriaus pavardė"))
    photo = ResizedImageField(
        blank=True,
        null=True,
        upload_to=_moderator_photo_file,
        crop=['middle', 'center'],
        size=[256, 256],
        verbose_name=_("Moderatoriaus nuotrauka"),
    )

    @property
    def name(self):
        return f"{self.first_name} {self.last_name}"

    class Meta:
        verbose_name = _("Moderatorius")
        verbose_name_plural = _("Moderatoriai")
        ordering = ["last_name"]

    def save(self,
             force_insert=False,
             force_update=False,
             using=None,
             update_fields=None):
        self.slug = slugify(self.name)
        super().save(force_insert, force_update, using, update_fields)

    def __str__(self):
        return self.name
Example #28
0
class Images(models.Model):
    image = ResizedImageField(size=[1280, 960],
                              upload_to='images/',
                              validators=[file_size])
    team = models.ForeignKey("Teams",
                             on_delete=models.CASCADE,
                             blank=True,
                             null=True,
                             related_name='team_gallery')
    post = models.ForeignKey("Post",
                             on_delete=models.CASCADE,
                             blank=True,
                             null=True,
                             related_name='post_gallery')
    building = models.ForeignKey("BaseBuildings",
                                 on_delete=models.CASCADE,
                                 blank=True,
                                 null=True,
                                 related_name='buildings_gallery')

    no_image = models.BooleanField(default=False)

    class Meta:
        ordering = (
            '-id',
            "image",
        )
        verbose_name_plural = "Galeria"

    def save(self):
        im = Image.open(self.image)
        output = BytesIO()
        im.save(output, format='WEBP', quality=80)
        output.seek(0)
        self.image = InMemoryUploadedFile(
            output, 'ImageField', "%s.webp" % self.image.name.split('.')[0],
            'image/webp', sys.getsizeof(output), None)
        super(Images, self).save()

    def __str__(self):
        return str(self.id)
Example #29
0
class Company(models.Model):
    name = models.CharField(max_length=250)
    tagline = models.CharField(max_length=250)
    logo = ResizedImageField(size=[240, 144],
                             crop=['middle', 'center'],
                             quality=100,
                             upload_to=uploaded_location,
                             null=True,
                             blank=True)
    description = models.TextField(null=True, blank=True)
    facebook = models.CharField(max_length=250, null=True, blank=True)
    instagram = models.CharField(max_length=250, null=True, blank=True)
    twitter = models.CharField(max_length=250, null=True, blank=True)
    linkedin = models.CharField(max_length=250, null=True, blank=True)
    googleplus = models.CharField(max_length=250, null=True, blank=True)

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return "/company/%s/" % (self.id)
Example #30
0
class ProductImages(models.Model):
    # Set related_name to use backward relationships on ProductSerializer
    product_id = models.ForeignKey(Products,
                                   on_delete=models.CASCADE,
                                   verbose_name='Producto',
                                   related_name='images')
    image = ResizedImageField(upload_to=product_image_path,
                              max_length=200,
                              size=[200, 200],
                              blank=True,
                              null=True,
                              verbose_name='Imágen')
    date = models.DateTimeField(
        auto_now=True, verbose_name='Fecha de Creación / Actualización')

    def __str__(self):
        return str('')

    class Meta:
        verbose_name = 'Imágen'
        verbose_name_plural = 'Imágenes'