Exemple #1
0
class UserImage(models.Model):
    original = ProcessedImageField(upload_to=get_unique_file_path,
                                   format='JPEG',
                                   options={'quality': 100})
    medium = ImageSpecField(source=original,
                            processors=[SmartResize(100, 100)],
                            format='JPEG',
                            options={'quality': 100})
    small = ImageSpecField(source=original,
                           processors=[SmartResize(50, 50)],
                           format='JPEG',
                           options={'quality': 100})

    @img_url_cache(img_type='original')
    def get_original_url(self):
        try:
            return self.original.url
        except Exception:
            return ''

    @img_url_cache(img_type='original')
    def get_medium_url(self):
        try:
            return self.medium.url
        except Exception:
            return ''

    @img_url_cache(img_type='original')
    def get_small_url(self):
        try:
            return self.small.url
        except Exception:
            return ''
Exemple #2
0
class Image(models.Model):
    file = models.ImageField('Datei')
    creator = models.ForeignKey('gestalten.Gestalt',
                                related_name='images',
                                on_delete=models.PROTECT)

    preview_api = ImageSpecField(
        source='file', processors=[Transpose(),
                                   SmartResize(250, 250)])
    preview_content = ImageSpecField(
        source='file', processors=[Transpose(),
                                   SmartResize(200, 200)])
    preview_gallery = ImageSpecField(
        source='file', processors=[Transpose(), ResizeToFit(250)])
    preview_group = ImageSpecField(
        source='file', processors=[Transpose(),
                                   SmartResize(366, 120)])
    intro = ImageSpecField(source='file',
                           processors=[Transpose(),
                                       ResizeToFit(554)])
    sidebar = ImageSpecField(source='file',
                             processors=[Transpose(),
                                         ResizeToFit(313)])
    facebook_meta = ImageSpecField(source='file',
                                   processors=[Transpose(),
                                               ResizeToFit(800)])
    twitter_meta = ImageSpecField(
        source='file', processors=[Transpose(),
                                   SmartResize(600, 300)])

    def __str__(self):
        return '{} ({})'.format(self.file, self.creator)[2:]
Exemple #3
0
class Photo(models.Model):
    PORTRAIT = 'P'
    LANDSCAPE = 'L'
    ORIENTATION_CHOICES = ((PORTRAIT, 'Portrait'), (LANDSCAPE, 'Landscape'))
    project = models.ForeignKey(Project,
                                on_delete=models.CASCADE,
                                related_name="photos")
    photo = models.ImageField(upload_to='project_photos/')
    orientation = models.CharField(max_length=1, choices=ORIENTATION_CHOICES)
    display_order = models.IntegerField()
    portrait = ImageSpecField(source='photo',
                              processors=[
                                  SmartResize(500, 700),
                                  ResizeCanvas(1110, 700, color='black')
                              ],
                              format='JPEG',
                              options={'quality': 60})
    landscape = ImageSpecField(source='photo',
                               processors=[SmartResize(1110, 700)],
                               format='JPEG',
                               options={'quality': 60})
    thumbnail = ImageSpecField(source='photo',
                               processors=[SmartResize(400, 200)],
                               format='JPEG',
                               options={'quality': 60})
    credit = models.CharField(max_length=100)

    @property
    def is_landscape(self):
        return self.orientation == self.LANDSCAPE

    def __str__(self):
        return '{} {}'.format(self.project.title, self.pk)
Exemple #4
0
class Nancy(models.Model):
    user_id = models.ForeignKey(
        User, on_delete=models.CASCADE)  #relationship 1:n (user:todos) ??
    dateCreated = models.DateField(auto_now_add=True)  #automatic
    dateCompleted = models.DateField(null=True, blank=True)  #blank at first ?
    mealName = models.CharField(max_length=30)
    scheduled = models.BooleanField(default=False)
    description = models.TextField(blank=True)
    mainIngredient = models.CharField(max_length=70)
    HasItamarTasted = models.BooleanField(default=False)
    Recipe = models.CharField(max_length=70)
    imagefile = models.ImageField(
        default='todo\static\nancy\images\Mashed_apple.png',
        upload_to='nancy/images')

    mediumIm = ImageSpecField(source='imagefile',
                              processors=[SmartResize(80, 100)],
                              format='PNG')

    smallIm = ImageSpecField(source='imagefile',
                             processors=[SmartResize(40, 50)],
                             format='PNG')

    bigImage = ImageSpecField(source='imagefile',
                              processors=[SmartResize(200, 300)],
                              format='PNG')

    def __str__(self):
        return self.mealName
Exemple #5
0
class Gallery(models.Model):
    """
    class  describe Gallery
    """
    title = models.CharField(max_length=125, verbose_name='назва альбому')
    title_image = models.ImageField(upload_to='title/',
                                    verbose_name='титульне фото')
    title_image_avatar = ImageSpecField(
        source='title_image',
        processors=[Transpose(), SmartResize(370, 370)],
        format='JPEG',
        options={'quality': 60})
    title_image_big = ImageSpecField(
        source='title_image',
        processors=[Transpose(), SmartResize(1800, 950)],
        format='JPEG',
        options={'quality': 100})
    description = models.CharField(max_length=250,
                                   blank=True,
                                   verbose_name='опис альбому')
    category = models.ForeignKey(CategoryGallery,
                                 on_delete=models.SET_NULL,
                                 blank=True,
                                 null=True)
    created = models.DateField(auto_now_add=True, verbose_name='створено')

    class Meta:
        verbose_name = 'Галерея'
        verbose_name_plural = "Галереї"

    def __str__(self):
        return "{}".format(self.title)
Exemple #6
0
class Staff(models.Model):
    """
    abstract class for staff
    """
    first_name = models.CharField(max_length=125, verbose_name="ім'я")
    last_name = models.CharField(max_length=125, verbose_name='прізвище')
    middle_name = models.CharField(max_length=125,
                                   blank=True,
                                   verbose_name='по-батькові')
    birthday = models.DateField(verbose_name='день народження')
    image = models.ImageField(upload_to='staff/', verbose_name='фото')
    image_avatar = ImageSpecField(
        source='image',
        processors=[Transpose(), SmartResize(370, 377)],
        format='JPEG',
        options={'quality': 70})
    image_small = ImageSpecField(
        source='image',
        processors=[Transpose(), SmartResize(164, 136)],
        format='JPEG',
        options={'quality': 60})
    description = models.TextField(blank=True)

    def get_full_name(self):
        return "{} {} {}".format(self.last_name, self.first_name,
                                 self.middle_name)

    class Meta:
        abstract = True
Exemple #7
0
class Article(News):
    """
    model that describe post
    """
    title = models.CharField(max_length=125, verbose_name='Заголовок')
    description = models.CharField(max_length=250,
                                   verbose_name='Короткий опис')
    image = models.ImageField(upload_to='article/',
                              null=True,
                              blank=True,
                              verbose_name='фото')
    image_avatar = ImageSpecField(
        source='image',
        processors=[Transpose(), SmartResize(370, 215)],
        format='JPEG',
        options={'quality': 60})
    image_grid = ImageSpecField(
        source='image',
        processors=[Transpose(), SmartResize(370, 304)],
        format='JPEG',
        options={'quality': 60})
    category = models.ForeignKey(Category,
                                 blank=True,
                                 null=True,
                                 on_delete=models.SET_NULL,
                                 verbose_name='Категорія')
    is_approve = models.BooleanField(default=False)

    def __str__(self):
        return '"{}" {}'.format(self.title, self.author)

    class Meta:
        verbose_name = 'Стаття'
        verbose_name_plural = 'Статті'
class Event(models.Model):
    owner = models.ForeignKey(Musician,
                              on_delete=models.CASCADE,
                              related_name="events")
    title = models.CharField(max_length=255)
    date_time = models.DateTimeField()
    description = models.TextField()
    public = models.BooleanField(default=True)
    save_event = models.ManyToManyField(User,
                                        related_name="save_event",
                                        blank=True)
    favorited_by = models.ManyToManyField(User,
                                          related_name="favorite_event",
                                          blank=True)
    in_progress = models.BooleanField(default=False)
    genre = models.CharField(max_length=255, null=True, blank=True)

    viewers = models.IntegerField(default=0)
    video = models.FileField(upload_to="videos/", null=True, blank=True)

    cover_photo = models.ImageField(upload_to="images/",
                                    null=True,
                                    blank=False)
    thumbnail = ImageSpecField(
        source="cover_photo",
        processors=[
            Transpose(),
            SmartResize(250, 188),
        ],
        format="JPEG",
        options={"quality": 100},
    )
    full_cover = ImageSpecField(
        source="cover_photo",
        processors=[
            Transpose(),
            SmartResize(600, 480),
        ],
        format="JPEG",
        options={"quality": 100},
    )

    def __str__(self):
        return f'{self.title} by {self.owner.user.username}'

    @property
    def is_upcoming(self):
        now = datetime.now()
        timezone = pytz.timezone("America/New_York")
        now_aware = timezone.localize(now)
        return self.date_time > now_aware

    @property
    def is_finished(self):
        now = datetime.now()
        timezone = pytz.timezone("America/New_York")
        now_aware = timezone.localize(now)
        return self.date_time < now_aware and not self.in_progress
Exemple #9
0
class Employee(models.Model):
    class Meta():
        ordering = ['first_name']

    user = models.OneToOneField(
        settings.AUTH_USER_MODEL,
        models.SET_NULL,
        verbose_name='user id',
        blank=True, null=True)
    department = models.ForeignKey(
        Department,
        models.SET_NULL,
        verbose_name='department id',
        blank=True, null=True)
    status_code = models.SmallIntegerField('status code activity of user', default=0)
    first_name = models.CharField(max_length=255, null=True, blank=True)
    last_name = models.CharField(max_length=255, null=True, blank=True)
    age = models.IntegerField('age of user', blank=True, null=True)
    about_me = models.CharField('introduce about me of user', max_length=400)
    birthday = models.DateTimeField(
        'birthday of user',
        auto_now=False,
        auto_now_add=False,
        blank=True,
        null=True)
    avatar_original = ProcessedImageField(
        null=True,
        blank=True,
        processors=[Transpose()],
        format='JPEG',
        options={'quality': 50})
    small = ImageSpecField(
        source='avatar_original',
        processors=[Transpose(), SmartResize(640, 505)],
        format='JPEG',
        options={'quality': 50})
    medium = ImageSpecField(
        source='avatar_original',
        # processors=[Transpose(), ResizeToFit(640, 600, False)],
        # processors=[Transpose(), SmartResize(320, 300)],
        processors=[Transpose(), SmartResize(640, 600)],
        format='JPEG',
        options={'quality': 70})
    created_date = models.DateTimeField(auto_now_add=True)
    modified_date = models.DateTimeField(null=True, blank=True)

    objects = EmployeeManager()

    def full_name(self):
        """Custom full name method as a property."""
        return str(self.first_name) + ' ' + str(self.last_name)

    def __str__(self):
        """Default string."""
        return self.user.email if self.user else ''
Exemple #10
0
class Profile(models.Model):

    cover = models.ImageField(upload_to="profile/cover/%Y/%m/%d")
    cover_x256 = ImageSpecField(source='cover',
                                processors=[SmartResize(256, 256)],
                                format='JPEG',
                                options={'quality': 60})
    cover_x512 = ImageSpecField(source='cover',
                                processors=[SmartResize(512, 512)],
                                format='JPEG',
                                options={'quality': 60})
Exemple #11
0
class SpecialTopicInfo(models.Model):
    """docstring for SpecialTopicInfo"""
    STI_ID = models.CharField(primary_key=True,
                              auto_created=True,
                              max_length=12,
                              default=str(uuid.uuid4())[-12:],
                              verbose_name='专题ID')
    STI_Title = models.CharField(max_length=35,
                                 unique=True,
                                 verbose_name='专题标题')
    STI_Cover = models.ImageField(upload_to='Cover',
                                  blank=False,
                                  verbose_name='封面图',
                                  default='')
    STI_Cover_210x140 = ImageSpecField(source='STI_Cover',
                                       processors=[SmartResize(210, 140)],
                                       format='JPEG',
                                       options={'quality': 95})
    STI_Cover_SR965x300 = ImageSpecField(source='STI_Cover',
                                         processors=[SmartResize(965, 300)],
                                         format='JPEG',
                                         options={'quality': 95})
    STI_EditDate = models.DateField(auto_now=True, verbose_name='发布时间')
    STI_Publisher = models.ForeignKey(User,
                                      to_field='username',
                                      related_name='Publisher',
                                      on_delete=models.CASCADE,
                                      verbose_name='发布者')
    STI_Type = models.CharField(max_length=10,
                                default='article',
                                verbose_name='专题类型')
    STI_Follower = models.IntegerField(default=0,
                                       blank=False,
                                       verbose_name='关注量')
    STI_Hot = models.IntegerField(default=10, blank=False, verbose_name='热度')
    STI_Abstract = models.CharField(max_length=30,
                                    blank=False,
                                    default='',
                                    verbose_name='简介')
    STI_Content = RichTextUploadingField(null=True,
                                         blank=True,
                                         config_name='admin',
                                         verbose_name='正文')
    STI_Comment = models.IntegerField(verbose_name='评论数', default=0)

    class Meta:
        verbose_name = '专题'
        # 末尾不加s
        verbose_name_plural = '**3**专题信息**3**'
        app_label = 'NTWebsite'

    def __str__(self):
        return self.STI_Title
Exemple #12
0
class Campaign(models.Model):
    
    title = models.CharField(max_length=200)
    slug = models.SlugField(unique=True,blank=True,null=True)
    perk = models.CharField(max_length=200,blank=True,null=True)
    niche = models.CharField(max_length=200,blank=True,null=True)
    requirement = models.IntegerField(default=0)
    description = models.TextField()
    category = models.ForeignKey(Category,related_name='campaigns',blank=True,null=True)
    slots = models.IntegerField(default=0)

    
    image = models.FileField(upload_to=get_upload_file_name,null=True,blank=True)
    image_thumbnail250= ImageSpecField(source='image',
                                       processors=[Transpose(),SmartResize(250,250)],
                                       format='JPEG',
                                       options={'quality':80})
    image_thumbnail80= ImageSpecField(source='image',
                                       processors=[Transpose(),SmartResize(80,80)],
                                       format='JPEG',
                                       options={'quality':80})
    
    postDate = models.DateTimeField(auto_now_add=True)
    startDate = models.DateField(blank=True,null=True)
    endDate = models.DateField(blank=True,null=True)

    product = models.BooleanField(default=False)
    discount = models.BooleanField(default=False)
    cash = models.BooleanField(default=False)

    twitter = models.BooleanField(default=False)
    facebook = models.BooleanField(default=False)
    instagram = models.BooleanField(default=False)
    youtube = models.BooleanField(default=False)
    vine = models.BooleanField(default=False)
    snapchat = models.BooleanField(default=False)

    paid = models.BooleanField(default=False)
    active = models.BooleanField(default=True)

    user = models.ForeignKey(User, related_name='campaigns',null=True,blank=True)

    def __unicode__(self):
        return self.title

    def save(self, **kwargs):
        #This overwrites the save function and makes sure the slug is unique.
        #Note slug is a separate file slug.py with the unique_slugify function.
        from slug import unique_slugify
        slug_str="%s"%self.title
        unique_slugify(self, slug_str)
        super(Campaign, self).save()
Exemple #13
0
class Imagem(models.Model):
    objects = ImagemManger()
    todo = models.ForeignKey(Todo, on_delete=models.CASCADE)
    descricao = models.CharField(max_length=255, null=True, blank=True)
    imagem = ProcessedImageField(
        upload_to='todo/%Y-%m',
        processors=[SmartResize(width=1920, height=1080, upscale=False)],
        format='JPEG',
        options={'quality': 70},
    )
    thumbnail = ImageSpecField(
        source='imagem',
        processors=[ResizeToFill(300, 300)],
        format='JPEG',
        options={'quality': 60}
    )
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True, null=True)

    def save(self, **kwargs):
        # orig = None if self.pk is None else Imagem.objects.get(pk=self.pk)
        # if orig and orig.imagem != self.imagem:
        #     kwargs['update_fields'] = ['imagem']

        if self.pk and has_changed(self, 'imagem'):
            kwargs['update_fields'] = ['imagem']
        super().save(**kwargs)

    @classmethod
    def get_ultimas(cls, qtd):
        return cls.objects.order_by('-created_at')[:qtd]
Exemple #14
0
class Article(models.Model):
    author = models.ForeignKey(User,
                               on_delete=models.CASCADE,
                               related_name="writen_by")
    title = models.CharField(max_length=400)
    content = models.TextField()
    pic = models.ImageField(upload_to='blog/', null=True, blank=True)
    timestamp = models.DateTimeField(auto_now=True)
    publish = models.BooleanField(default=False)
    pic_med = ImageSpecField(source='pic',
                             processors=[SmartResize(900, 300)],
                             format='JPEG',
                             options={'quality': 60})

    def __str__(self):
        return self.title

    def publish_article(self):
        self.publish = True
        self.save()

    def get_article_id(self):
        return self.id

    def get_content_markdown(self):
        content = self.content
        markdown_text = markdown(content)
        return mark_safe(markdown_text)
Exemple #15
0
class UserProfile(models.Model):
    ''' User description'''
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='userprofile')
    bio = HTMLField(blank=True, null=True)
    photo = ProcessedImageField(upload_to='accounts',
                                format='JPEG',
                                options={'quality': 85},
                                blank=True,
                                null=True,
                                processors=[SmartResize(250, 250), ])
    slug = models.SlugField(blank=False, null=True)

    @property
    def default_image(self):
        if self.photo:
            return self.photo.url
        else:
            default_image_url = '/media/accounts/default.jpg'
            return default_image_url

    def __str__(self):
        return f'@{self.user.username}'

    def save(self, *args, **kwargs):
        self.slug = slugify(self.user.username)
        super(UserProfile, self).save(*args, **kwargs)
class Photo(models.Model):
    """
    A class representing a photo.
    """

    photo_title = models.CharField(max_length=30, 
                                   help_text="Enter the title of the photo.")

    photo_description = models.TextField(max_length=500,
                                         help_text="Enter a description for the photo.")

    photo_date = models.DateTimeField('Date',
                                      help_text="When was the photo taken?")

    photo_full = models.ImageField("Photo",
                                   upload_to='full',
                                   help_text="The full size image.")

    # Requires PIL/Pillow and django-imagekit
    photo_small = ImageSpecField(source='photo_full',
                                 processors=[SmartResize(450, 300)],
                                 format='JPEG',
                                 options={'quality': 60})
                                 # quality is (worst) 1 to 100 (best)

    """
       * A Photo can be in more than one Category
       * A Category can have more than one Photo
    """
    category = models.ManyToManyField(Category)

    def __str__(self):
        return self.photo_title
Exemple #17
0
class LandingPage(models.Model):
    photo = models.ImageField(upload_to='project_photos/')
    landing_page_photo = ImageSpecField(source='photo',
                                        processors=[SmartResize(2864, 1442)],
                                        format='JPEG',
                                        options={'quality': 60})
    thumbnail = ImageSpecField(source='photo',
                               processors=[SmartResize(400, 200)],
                               format='JPEG',
                               options={'quality': 60})

    class Meta:
        verbose_name_plural = 'Landing page'

    def __str__(self):
        return 'Landing page'
Exemple #18
0
class Book(TimeStampModel):
    slug = models.CharField(max_length=255, null=False, blank=True)
    isbn13 = models.CharField(max_length=10, null=True, blank=True)
    isbn10 = models.CharField(max_length=10, null=True, blank=True)
    title = models.CharField(max_length=255,
                             null=False,
                             blank=False,
                             unique=True)
    edition = models.PositiveSmallIntegerField(null=True, blank=True)
    cover = models.ImageField(upload_to=book_cover_path, blank=True)
    cover_thumbnail = ImageSpecField(source='cover',
                                     processors=[SmartResize(200, 200)],
                                     options={'quality': 60})
    item = models.FileField(upload_to='book_file_path')
    description = models.CharField(max_length=255, null=True, blank=True)
    author = models.ManyToManyField(Author)
    category = models.ManyToManyField(Category)
    user = models.ForeignKey(User)

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

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

    @property
    def get_absolute_url(self):
        kwargs = {'slug': self.slug}
        return reverse("book_detail", kwargs=kwargs)

    def save(self, *args, **kwargs):
        if not self.id:
            self.slug = slugify(self.title)
        super(Book, self).save(*args, **kwargs)
Exemple #19
0
class Recipe(GrapheneFieldsMixin, models.Model):
    name = models.CharField(max_length=50)
    slug = models.SlugField(unique=True, blank=True, null=True)

    image = models.ImageField(blank=True, null=True, upload_to='images')
    image_top = ImageSpecField(source='image',
                               processors=[SmartResize(1000, 400)],
                               format='JPEG',
                               options={'quality': 60})

    image_thumbnail = ImageSpecField(
        source='image',
        processors=[ResizeToFit(330, 220),
                    Adjust(sharpness=1.1)],
        format='JPEG',
        options={'quality': 60})

    body = HTMLField()
    tags = models.ManyToManyField(Tag, related_name='recipes', blank=True)
    favourites = models.ManyToManyField(User,
                                        related_name='favoured',
                                        blank=True)

    DIFFICULTY_CHOICES = (
        ('easy', 'Easy'),
        ('medium', 'Normal'),
        ('hard', 'Hard'),
    )

    difficulty = models.CharField(max_length=6,
                                  choices=DIFFICULTY_CHOICES,
                                  default='medium',
                                  blank=True,
                                  null=True)
    time_need = models.SmallIntegerField(null=True, blank=True)
    portions = models.SmallIntegerField(null=True, blank=True)

    description = HTMLField(null=True, blank=True)

    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.name

    def save(self, *args, **kwargs):
        self.slug = slugify(self.name)
        super(Recipe, self).save(*args, **kwargs)

    def set_favourite(self, user, state_to_set):
        if not state_to_set:
            current_state = self.favourites.filter(pk=user.pk).exists()
            state_to_set = not current_state

        if state_to_set:
            self.favourites.add(user)
        else:
            self.favourites.remove(user)

        return True
Exemple #20
0
class ThumbnailImage(models.Model):
    image = models.ImageField(upload_to="images/")
    thumbnail = ImageSpecField(
        source='image',
        processors=[SmartResize(300, 225)],
        format='JPEG',
        options={'quality': 60},
    )
Exemple #21
0
 def __init__(self, source, width=420, height=595):
     self.source = source
     self.processors = [
         Adjust(contrast=1.1, sharpness=1.1),
         SmartResize(width, height)
     ]
     self.format = 'JPEG'
     self.options = {'quality': 90}
Exemple #22
0
class ShirtShot(models.Model):
    uploaded_by = models.ForeignKey(User, related_name='shots')
    shirt = models.ForeignKey(Shirt, related_name='shots')
    image = ProcessedImageField([ResizeToFit(2500, 2500)],
                                format='JPEG', options={'quality': 98},
                                upload_to=settings.IMAGE_UPLOAD_PATH)
    thumbnail = ImageSpecField([SmartResize(232, 232)], image_field='image',
                               format='JPEG', options={'quality': 95})
    thumbnail_small = ImageSpecField([SmartResize(85, 85)], image_field='image',
                                     format='JPEG', options={'quality': 95})
    cover = models.BooleanField(blank=True, default=False)

    def __unicode__(self):
        return self.image.name

    class Meta:
        ordering = ['-cover']
class Profile(models.Model):
    GENDER_CHOICES = (('M', _('Male')), ('F', _('Female')),)
    USER_CHOICES = (
    ('User', _('User')), ('Agent', _('Agent')), ('Contact', _('Contact')))

    user = models.OneToOneField(User, on_delete=models.CASCADE)
    about = models.TextField(_('about'), max_length=500, blank=True, default='')
    gender = models.CharField(_('gender'), max_length=5, choices=GENDER_CHOICES, null=True, default='M')

    url = models.URLField(_('website'), blank=True)
    location = models.CharField(_('location'), max_length=150, blank=True, default='')
    phone = models.CharField(max_length=20, null=True, blank=True, default='')
    city = models.CharField(max_length=100, default='', null=True, blank=True)
    country = models.CharField(max_length=100, default='', null=True, blank=True)

    image = models.ImageField(_('photo'), upload_to='upload/user_images', default="upload/blog_photos/amor-590x336.jpg",
                              max_length=1024)
    image_thumbnail = ImageSpecField(source="image", processors=[SmartResize(100, 100)], format="PNG",
                                     options={'quality': 60})
    image_big_thumbnail = ImageSpecField(source="image", processors=[SmartResize(200, 200)], format="PNG",
                                         options={'quality': 60})
    image_pin = ImageSpecField(source="image", processors=[SmartResize(32, 32)], format="PNG", options={'quality': 60})
    image_comment_thumb = ImageSpecField(source="image", processors=[SmartResize(45, 45)], format="PNG",
                                         options={'quality': 60})

    profile_type = models.CharField(_('Type'), max_length=15, choices=USER_CHOICES, default='User')

    pub_date = models.DateTimeField(auto_now_add=True)
    update_date = models.DateTimeField(auto_now=True)

    is_influencer = models.BooleanField(_('influencer'), default=False,
                                        help_text='This user is a content provider and can be followed by other users')

    class Meta:
        verbose_name_plural = _('User profiles')

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

    def get_absolute_url(self):
        return ('profile_detail', (), {'username': self.user.username})

    get_absolute_url = models.permalink(get_absolute_url)
Exemple #24
0
class Event(models.Model):
    """
    class for describe event at kindergarten
    """
    title = models.CharField(max_length=125, verbose_name='назва події')
    title_image = models.ImageField(upload_to='event_title/%Y/%m/%d',
                                    blank=True,
                                    null=True,
                                    verbose_name='фото обложки')
    title_image_avatar = ImageSpecField(
        source='title_image',
        processors=[Transpose(), SmartResize(370, 300)],
        format='JPEG',
        options={'quality': 60})
    title_image_detail = ImageSpecField(
        source='title_image',
        processors=[Transpose(), SmartResize(870, 469)],
        format='JPEG',
        options={'quality': 80})
    created = models.DateField(auto_now_add=True, verbose_name='створено')
    scheduled = models.DateTimeField(blank=True,
                                     null=True,
                                     verbose_name='дата проведення')
    description = models.CharField(max_length=250, verbose_name='опис')
    place = models.CharField(max_length=200,
                             blank=True,
                             verbose_name='місце проведення')
    content = models.TextField(blank=True, verbose_name='контент')
    gallery = models.ForeignKey(Gallery,
                                on_delete=models.CASCADE,
                                blank=True,
                                null=True,
                                related_name='gallery_event',
                                verbose_name='галерея')
    is_active = models.BooleanField(default=True)

    class Meta:
        verbose_name = "Подія"
        verbose_name_plural = "Події"

    def __str__(self):
        return "{}".format(self.title)
Exemple #25
0
class UserProfile(models.Model):
  avatar = models.ImageField(upload_to=get_file_path, max_length=255, blank=True, null=True)
  avatar_thumbnail = ImageSpecField(
    source='avatar',
    processors = [Transpose(),SmartResize(200, 200)],
    format = 'JPEG',
    options = {'quality': 80}
  )
  
  def profile_image_url(self):
    return "{}".format(self.user.profile.avatar_thumbnail.url)
Exemple #26
0
class Group(models.Model):
    """
    class describe a group
    """

    AGE = (('L', 'Старша'), ('M', 'Середня'), ('S', 'Молодша'))
    name = models.CharField(max_length=125, verbose_name='назва групи')
    image = models.ImageField(upload_to='group/',
                              blank=True,
                              null=True,
                              verbose_name='фото групи')
    image_avatar = ImageSpecField(
        source='image',
        processors=[Transpose(), SmartResize(370, 250)],
        format='JPEG',
        options={'quality': 70})
    image_big = ImageSpecField(source='image',
                               processors=[Transpose(),
                                           SmartResize(830, 421)],
                               format='JPEG',
                               options={'quality': 100})
    age_group = models.CharField(max_length=1,
                                 choices=AGE,
                                 verbose_name='вікова група')
    tutor = models.ManyToManyField(Tutor,
                                   verbose_name='вихователь',
                                   related_name='group_tutor')
    section = models.ManyToManyField(Section,
                                     related_name='group_section',
                                     verbose_name='гурток')
    description = models.CharField(max_length=500,
                                   blank=True,
                                   verbose_name='опис групи')
    about_us = models.TextField(blank=True, null=True, verbose_name='про нас')

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

    class Meta:
        verbose_name = 'Група'
        verbose_name_plural = 'Групи'
Exemple #27
0
class Page(models.Model):
    title = models.CharField(max_length=100)
    slug = models.SlugField()
    photo = models.ImageField(upload_to='project_photos/')
    thumbnail = ImageSpecField(source='photo',
                               processors=[SmartResize(400, 200)],
                               format='JPEG',
                               options={'quality': 60})
    text = models.TextField()

    class Meta:
        abstract = True
Exemple #28
0
class Project(Page):
    display_order = models.IntegerField()
    architect = models.CharField(max_length=100)
    awards = models.TextField(blank=True)
    project_photo = ImageSpecField(source='photo',
                                   processors=[SmartResize(1110, 700)],
                                   format='JPEG',
                                   options={'quality': 60})
    photo_credit = models.CharField(max_length=100)

    def __str__(self):
        return self.title
Exemple #29
0
class Profile(models.Model):

    firstName = models.CharField(max_length=200, null=True, blank=True)
    lastName = models.CharField(max_length=200, null=True, blank=True)
    description = models.TextField(blank=True, null=True)
    companyName = models.CharField(max_length=200, null=True, blank=True)

    image = models.FileField(upload_to=get_upload_file_name,
                             null=True,
                             blank=True)
    image_thumbnail250 = ImageSpecField(
        source='image',
        processors=[Transpose(), SmartResize(250, 250)],
        format='JPEG',
        options={'quality': 80})

    phone = models.CharField(max_length=100, null=True, blank=True)
    address = models.CharField(max_length=200, null=True, blank=True)
    website = models.CharField(max_length=200, null=True, blank=True)
    postcode = models.CharField(max_length=100, null=True, blank=True)
    city = models.CharField(max_length=100, null=True, blank=True)
    country = models.CharField(max_length=100, null=True, blank=True)

    paypal_email = models.CharField(max_length=200, null=True, blank=True)

    members_referred = models.IntegerField(default=0)

    active = models.BooleanField(default=False)
    influencer = models.BooleanField(default=False)
    brand = models.BooleanField(default=False)

    paid = models.BooleanField(default=False)
    s_monthly = models.BooleanField(default=False)
    s_6month = models.BooleanField(default=False)
    s_12month = models.BooleanField(default=False)
    g_monthly = models.BooleanField(default=False)
    g_6month = models.BooleanField(default=False)
    g_12month = models.BooleanField(default=False)

    twitter = models.BooleanField(default=False)
    facebook = models.BooleanField(default=False)
    vine = models.BooleanField(default=False)
    instagram = models.BooleanField(default=False)
    youtube = models.BooleanField(default=False)
    snapchat = models.BooleanField(default=False)

    temp_flag = models.BooleanField(default=False)

    user = models.OneToOneField(User, related_name='profile')

    def __unicode__(self):
        return "%s's profile" % self.user.username
Exemple #30
0
class Question(models.Model):
    title = models.CharField(max_length=30)
    select_a = models.TextField()
    select_b = models.TextField()
    image_a = ProcessedImageField(
        blank=True,
        upload_to=ei_image_path,  # 저장위치
        processors=[SmartResize(300, 400)],  # 처리할 작업 목록
        format='JPEG',  # 저장포맷
        options={'quality':
                 90}  # title, content , image와같은 Field가 바뀌면 다시 migrate해야하지만
        # 그 외에 속성을 추가하거나 속성을 변경하면 다시 안해 도 됌
    )
    image_b = ProcessedImageField(
        blank=True,
        upload_to=ei_image_path,  # 저장위치
        processors=[SmartResize(300, 400)],  # 처리할 작업 목록
        format='JPEG',  # 저장포맷
        options={'quality':
                 90}  # title, content , image와같은 Field가 바뀌면 다시 migrate해야하지만
        # 그 외에 속성을 추가하거나 속성을 변경하면 다시 안해 도 됌
    )