예제 #1
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
예제 #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)],
        format='PNG')
    preview_content = ImageSpecField(
        source='file',
        processors=[Transpose(), SmartResize(200, 200)],
        format='PNG')
    preview_gallery = ImageSpecField(
        source='file',
        processors=[Transpose(), ResizeToFit(250)],
        format='PNG')
    preview_group = ImageSpecField(
        source='file',
        processors=[Transpose(), SmartResize(366, 120)],
        format='PNG')
    intro = ImageSpecField(source='file',
                           processors=[Transpose(),
                                       ResizeToFit(554)],
                           format='JPEG')

    def __str__(self):
        return '{} ({})'.format(self.file, self.creator)[2:]
예제 #3
0
class Article(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    like_users = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name='like_articles')
    hashtags = models.ManyToManyField(Hashtag)
    title = models.CharField(max_length=10)
    content = models.TextField()
    image = models.ImageField(blank=True)
    image_thumbnail_detail = ImageSpecField(source='image',
                                     processors=[
                                         #  이미지 회전 방지
                                         Transpose(),
                                         ResizeToFill(670, 500)
                                         ],
                                     format='JPEG',
                                     options={'quality': 100})
    image_thumbnail_index = ImageSpecField(source='image',
                                     processors=[
                                        #  이미지 회전 방지
                                         Transpose(),
                                         ResizeToFill(200, 200)
                                         ],
                                     format='JPEG',
                                     options={'quality': 100})
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    price = models.IntegerField()
예제 #4
0
class NewsImage(models.Model):
    news = models.ForeignKey(News,
                             on_delete=models.CASCADE,
                             related_name='images',
                             verbose_name='Новость')

    def get_picture_url(self, filename):
        ext = filename.split('.')[-1]
        filename = '{0}.{1}'.format(uuid1(), ext)
        return 'images/news/{0}/{1}'.format(self.news.slug, filename)

    image = models.ImageField(upload_to=get_picture_url,
                              verbose_name='Изображение')

    image_small = ImageSpecField(
        source='image',
        processors=[Transpose('auto'),
                    ResizeToFill(105, 58)],
        format='JPEG',
        options={'quality': 90})

    image_standart = ImageSpecField(
        source='image',
        processors=[Transpose('auto'),
                    ResizeToFill(729, 410)],
        format='JPEG',
        options={'quality': 90})

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

    class Meta:
        verbose_name = 'Изображение'
        verbose_name_plural = 'Изображения'
예제 #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)
예제 #6
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 = 'Статті'
예제 #7
0
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
예제 #8
0
class ProductImage(models.Model):
    product = models.ForeignKey(Product,
                                on_delete=models.CASCADE,
                                related_name='images',
                                verbose_name='Товар')
    color = models.ForeignKey(Color,
                              on_delete=models.CASCADE,
                              related_name='images',
                              verbose_name='Цвет',
                              null=True,
                              blank=True)

    def get_picture_url(self, filename):
        ext = filename.split('.')[-1]
        filename = '{0}.{1}'.format(uuid1(), ext)
        return 'images/products/{0}/{1}'.format(self.product.slug, filename)

    image = models.ImageField(upload_to=get_picture_url,
                              verbose_name='Изображение')

    image_big = ImageSpecField(
        source='image',
        processors=[Transpose('auto'),
                    ResizeToFill(696, 870)],
        format='JPEG',
        options={'quality': 90})

    image_medium = ImageSpecField(
        source='image',
        processors=[Transpose('auto'),
                    ResizeToFill(260, 391)],
        format='JPEG',
        options={'quality': 90})

    image_prod = ImageSpecField(
        source='image',
        processors=[Transpose('auto'),
                    ResizeToFill(535, 802)],
        format='JPEG',
        options={'quality': 90})

    image_small = ImageSpecField(
        source='image',
        processors=[Transpose('auto'),
                    ResizeToFill(150, 130)],
        format='JPEG',
        options={'quality': 90})

    class Meta:
        verbose_name = 'Изображение'
        verbose_name_plural = 'Изображения'
        unique_together = ('color', 'product')

    def __str__(self):
        return '{0} -- {1}'.format(self.product.name, self.id)
예제 #9
0
class File(core.models.Model):
    file = models.FileField()
    filename = models.CharField(max_length=255, blank=True, null=True)

    contribution = django.contrib.contenttypes.fields.GenericRelation(
        'contributions.Contribution',
        content_type_field='contribution_type',
        object_id_field='contribution_id',
        related_query_name='file')

    version = models.ForeignKey('content2.Version',
                                null=True,
                                on_delete=models.CASCADE,
                                related_name='file')

    image_480 = ImageSpecField(source='file',
                               processors=[Transpose(),
                                           ResizeToFit(480)],
                               format='JPEG')
    image_768 = ImageSpecField(source='file',
                               processors=[Transpose(),
                                           ResizeToFit(768)],
                               format='JPEG')
    image_1200 = ImageSpecField(source='file',
                                processors=[Transpose(),
                                            ResizeToFit(1200)],
                                format='JPEG')
    image_1920 = ImageSpecField(source='file',
                                processors=[Transpose(),
                                            ResizeToFit(1920)],
                                format='JPEG')

    objects = FileManager()

    @property
    def display_name(self):
        return self.filename or path.basename(self.file.name)

    def __str__(self):
        return self.display_name

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

    def is_image(self):
        root, ext = path.splitext(self.file.name.lower())
        return ext in ('.svg', '.apng', '.png', '.gif', '.jpg', '.jpeg')

    def is_video(self):
        root, ext = path.splitext(self.file.name.lower())
        return ext in ('.mp4', '.ogg', '.webm')

    def is_audio(self):
        root, ext = path.splitext(self.file.name.lower())
        return ext in ('.opus', '.ogg', '.aac', '.mp3', '.flac', '.m4a')
예제 #10
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 ''
예제 #11
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()
예제 #12
0
class Musician(models.Model):
    user = models.OneToOneField(User,
                                on_delete=models.CASCADE,
                                primary_key=True)
    name = models.CharField(max_length=255, blank=True, null=True)
    bio = models.TextField()
    city = models.CharField(max_length=255)
    latitude = models.FloatField(blank=True, null=True)
    longitude = models.FloatField(blank=True, null=True)

    # fields having to do with money
    cashapp_name = models.CharField(max_length=255, blank=True, null=True)
    paypal_donation_url = models.CharField(max_length=255,
                                           blank=True,
                                           null=True)
    cashapp_qr = models.ImageField(upload_to="images/", null=True, blank=True)
    paypal_qr = models.ImageField(upload_to="images/", null=True, blank=True)
    venmo_qr = models.ImageField(upload_to="images/", null=True, blank=True)
    favorited_by = models.ManyToManyField(User,
                                          related_name="favorite_musician",
                                          blank=True)

    # fields having to do with images
    headshot = models.ImageField(upload_to="images/", null=True, blank=False)
    thumbnail = ImageSpecField(
        source="headshot",
        processors=[Transpose(),
                    ResizeToCover(200, 200),
                    SmartCrop(200, 200)],
        format="JPEG",
        options={"quality": 100},
    )
    full_cover = ImageSpecField(
        source="headshot",
        processors=[Transpose(),
                    ResizeToFit(600, 600),
                    SmartCrop(400, 400)],
        format="JPEG",
        options={"quality": 100},
    )
    very_small_thumb = ImageSpecField(
        source="headshot",
        processors=[Transpose(),
                    ResizeToCover(100, 100),
                    SmartCrop(100, 100)],
        format="JPEG",
        options={"quality": 100},
    )

    def __str__(self):
        return f'{self.name}'
예제 #13
0
class Category(SEO, Position):
    name = models.CharField('Название', max_length=100)
    code_1c = models.CharField('Код 1с', max_length=20, unique=True)

    def get_picture_url(self, filename):
        ext = filename.split('.')[-1]
        filename = '{0}.{1}'.format(uuid1(), ext)
        return 'images/categories/{}'.format(filename)

    image = models.ImageField(upload_to=get_picture_url,
                              verbose_name='Изображение',
                              null=True,
                              blank=True)

    image_small = ImageSpecField(
        source='image',
        processors=[Transpose('auto'),
                    ResizeToFill(261, 424)],
        format='JPEG',
        options={'quality': 90})

    class Meta:
        verbose_name = 'Категория'
        verbose_name_plural = 'Категории'
        ordering = ('position', )

    def get_absolute_url(self):
        return '{}?category={}'.format(reverse('products'), self.slug)

    def get_products(self):
        return self.products.filter(is_active=True)

    def __str__(self):
        return self.name
예제 #14
0
class Plants(BaseModel):
    name = models.CharField(max_length=120, verbose_name='Plant name')
    last_water = models.DateTimeField(default=timezone.now,
                                      blank=True,
                                      verbose_name='Last water')
    info_url = models.URLField(max_length=200,
                               null=True,
                               blank=True,
                               verbose_name='Info url')
    water_schedule = models.ForeignKey(IntervalSchedule,
                                       on_delete=models.CASCADE,
                                       verbose_name='Watering schedule')
    #water_schedule = models.CharField(max_length=30, default="1")
    image = models.ImageField(null=True,
                              blank=True,
                              upload_to="static/plant_images/",
                              verbose_name="Image")
    image_thumbnail = ImageSpecField(source='image',
                                     processors=[Transpose()],
                                     format='JPEG')

    class Meta:
        ordering = ['name']
        verbose_name_plural = "Plants"

    def get_absolute_url(self):
        return '/plant/{0}/'.format(self.id)

    def __unicode__(self):
        return self.name

    def __str__(self):
        return self.name
예제 #15
0
class Slide(models.Model):
    main_text = models.CharField('Заголовок',
                                 max_length=250,
                                 null=True,
                                 blank=True)
    sub_text = models.CharField('Описание',
                                max_length=250,
                                null=True,
                                blank=True)
    url = models.CharField('Ссылка', max_length=250, null=True, blank=True)
    image = models.ImageField(upload_to='images/slides/',
                              verbose_name='Изображение',
                              null=True,
                              blank=True)
    image_big = ImageSpecField(
        source='image',
        processors=[Transpose('auto'),
                    ResizeToFill(1116, 480)],
        format='JPEG',
        options={'quality': 90})

    class Meta:
        verbose_name = 'Слайд'
        verbose_name_plural = 'Слайды'

    def __str__(self):
        return 'Слайд №{}'.format(self.id)
예제 #16
0
class Person(models.Model):
    """ Additional information to describe a user, particularly items for user's profile """
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    middle_name =  models.CharField(max_length=30, blank=True)

    # Sometimes the meta data for image orientation is messed up
    # Here's the fix implemented below: https://stackoverflow.com/questions/17385574/stopping-auto-rotation-of-images-in-django-imagekit-thumbnail
    photo = ProcessedImageField(upload_to='profile_photos',
                                processors=[Transpose(), ResizeToFill(500, 500)],
                                format='JPEG',
                                options={'quality': 85},
                                null=True,
                                blank=True)
    
    telephone_number = TelephoneNumberField(blank=True, null=True)
    address_line_1 = models.CharField(max_length=80, blank=True)
    address_line_2 = models.CharField(max_length=80, blank=True)
    address_line_3 = models.CharField(max_length=80, blank=True)
    city = models.CharField(max_length=80, blank=True)
    state = USStateField(blank=True)
    zipcode = USZipCodeField(blank=True)
    
    newest_update = models.DateTimeField(auto_now=True)
    biography = models.CharField(max_length=100, blank=True, null=True)
    can_create_loops = models.BooleanField(default=False)
예제 #17
0
 def __init__(self, source):
     self.processors = [
         Transpose(),
         ResizeToFill(self.width, self.height, upscale=True),
         Adjust(sharpness=2.0),
     ]
     super().__init__(source)
예제 #18
0
class Image(models.Model):
    # user = OneToOneField(User, related_name="image", null=True, blank=True)
    # content_object = GenericForeignKey('content_type', 'object_id')
    image = ProcessedImageField(processors=[  # ResizeToFill(
        # 100, 50),
        Transpose()],
        upload_to=image_upload_location,
        null=True,
        blank=True,
        format='JPEG',
        options={'quality': 60})
    my_namespace = CharField(
        default="", max_length=128, null=True, blank=True)
    timestamp = DateTimeField(editable=False, auto_now_add=True,
                              auto_now=False, null=True, blank=True)
    updated = models.DateTimeField(auto_now=True, blank=True, null=True)


    def get_timestamp(self, pretty=False):

        if pretty:
            return self.timestamp.strftime("%Y-%m-%d %H:%M:%S")

        return self.timestamp.strftime("%Y-%m-%d_%H:%M:%S")

    def __str__(self):

        return '{} {}'.format(self.my_namespace,
                              self.get_timestamp(pretty=True))

    def time_ago(self):
        return naturaltime(self.timestamp)
예제 #19
0
class PageQuote(models.Model):
    page = models.ForeignKey(Page,
                             on_delete=models.CASCADE,
                             related_name='quotes',
                             verbose_name='Страница')
    text = models.TextField('Текст цитаты')
    author = models.CharField('Автор цитаты', max_length=250)
    profession = models.CharField('Профессия автора', max_length=250)

    def get_image_url(self, filename):
        ext = filename.split('.')[-1]
        filename = '{0}.{1}'.format(uuid1(), ext)
        return 'images/pages_quote/{0}/{1}'.format(self.page.slug, filename)

    image = models.FileField(max_length=500,
                             upload_to=get_image_url,
                             verbose_name='Изображение')

    image_small = ImageSpecField(
        source='image',
        processors=[Transpose('auto'), ResizeToFill(48, 48)],
        format='JPEG',
        options={'quality': 90})

    def __str__(self):
        return self.text

    class Meta:
        verbose_name = 'Цитата'
        verbose_name_plural = 'Цитаты'
예제 #20
0
 def __init__(self, source):
     self.processors = [
         Transpose(),
         ResizeToFill(self.size, self.size, upscale=self.upscale),
         Adjust(sharpness=2.0),
     ]
     super().__init__(source)
예제 #21
0
class Post(models.Model):
    title = models.CharField(max_length=100)
    slug = models.SlugField(null=True, unique=True, max_length=111)
    content = models.TextField()
    image = models.ImageField(upload_to='post_images')
    image_thumbnail = ImageSpecField(
        source='image',
        processors=[Transpose(), ResizeToFill(1000, 500)],
        format='JPEG',
        options={'quality': 70})

    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    likes = models.ManyToManyField(User, related_name='likes', blank=True)
    tagged_users = models.ManyToManyField(User,
                                          related_name='tagged_users',
                                          blank=True)

    @property
    def total_likes(self):
        return self.likes.count()

    def _str_(self):
        return self.title

    def get_absolute_url(self):
        return reverse('accounts:post-detail', kwargs={'slug': self.slug})
예제 #22
0
class Image(TimeStampedModel):
    """ Image Model """
    file = ProcessedImageField(
        processors=[Transpose()], format="JPEG", options={"quality": 50},
        upload_to=post_image_path
    )
    restaurant = models.TextField()
    dish = models.TextField()
    creator = models.ForeignKey(Profile, on_delete=models.CASCADE, null=True, related_name="images")
    tags = TaggableManager()
    latitude = models.CharField(max_length=80, null=True)
    longitude = models.CharField(max_length=80, null=True)
    point = models.PointField(null=True, blank=True)

    objects = ImageQuerySet.as_manager()

    @property
    def likes_count(self):
        return self.likes.count()

    @property
    def comments_count(self):
        return self.comments.count()

    @property
    def natural_time(self):
        return naturaltime(self.created_at)

    @property
    def is_vertical(self):
        return self.file.width < self.file.height

    def __str__(self):
        return f"{self.restaurant} - {self.dish}"
예제 #23
0
class Shop(models.Model):
    city = models.ForeignKey(City,
                             on_delete=models.CASCADE,
                             related_name='shops',
                             verbose_name='Город')
    address = models.CharField('Адрес', max_length=250)
    phone = models.CharField('Телефон', max_length=20)
    email = models.EmailField('Эл. почта',
                              max_length=100,
                              null=True,
                              blank=True)
    schedule = models.CharField('Режим работы',
                                max_length=250,
                                help_text='Пункты разделять ";"')
    map_code = models.TextField('Скрипт карты')

    image = models.ImageField(upload_to='images/shops/',
                              verbose_name='Изображение')

    image_small = ImageSpecField(
        source='image',
        processors=[Transpose('auto'),
                    ResizeToFill(600, 257)],
        format='JPEG',
        options={'quality': 90})

    class Meta:
        verbose_name = 'Магазин'
        verbose_name_plural = 'Магазины'

    def __str__(self):
        return self.address
예제 #24
0
파일: models.py 프로젝트: lpercifield/rmap
class GeorefencedImage(models.Model):

    active = models.BooleanField(
        ugettext_lazy("Active"),
        default=True,
        null=False,
        blank=False,
        help_text=ugettext_lazy("Activate this geoimage"))
    geom = PointField()
    comment = models.TextField()
    #image = DeletingImageField()
    ident = models.ForeignKey(User)
    date = models.DateTimeField(auto_now=False, auto_now_add=False)
    category = models.CharField(max_length=50,
                                blank=False,
                                choices=CATEGORY_CHOICES)

    image = DeletingImageField(processors=[Transpose(),
                                           ResizeToFit(600, 600)],
                               format='jpeg',
                               options={'quality': 70})

    image_thumbnail = ImageSpecField(
        source='image',
        processors=[Transpose(), SmartResize(128, 128)],
        format='JPEG',
        options={'quality': 60})

    @property
    def popupContent(self):
        return \
            u'\
            <p>\
            <a href="#" onClick="window.open(\'/geoimage/{}/{}\',\'geoimage\', \'width=800, height=620\').focus(); return false;" >\
            <img src="/{}" style="float:right;">\
            </a>\
            {}\
            </p>\
            <p><a href="/geoimage/{}">{}</a> {}</p>'                                                    .format(
                self.ident,
                self.id,
                self.image_thumbnail.url,
                self.comment,
                self.ident,
                self.ident,
                self.date
            )
예제 #25
0
class ProPicture(models.Model):
    picture = models.ImageField(upload_to='documents/', blank=True)
    picture_thumbnail = ImageSpecField(
        source='picture',
        processors=[Transpose(), ResizeToFill(100, 50)],
        format='JPEG',
        options={'quality': 60})
    user_id = models.ForeignKey(User, related_name='profilePic')
예제 #26
0
class News(SEO):
    category = models.ForeignKey(NewsCategory,
                                 on_delete=models.CASCADE,
                                 related_name='news',
                                 verbose_name='Категория новости')
    title = models.CharField('Название', max_length=250)
    body1 = models.TextField('Текст новости #1', null=True, blank=True)
    body2 = models.TextField('Текст новости #2', null=True, blank=True)
    body3 = models.TextField('Текст новости #3', null=True, blank=True)
    is_active = models.BooleanField('Показывать на сайте', default=True)
    created = models.DateField('Дата создания', auto_now_add=True)
    updated = models.DateField('Дата изменения', auto_now=True)

    image = models.ImageField(upload_to='images/news/',
                              verbose_name='Изображение')

    image_medium = ImageSpecField(
        source='image',
        processors=[Transpose('auto'),
                    ResizeToFill(690, 389)],
        format='JPEG',
        options={'quality': 90})

    image_small = ImageSpecField(
        source='image',
        processors=[Transpose('auto'),
                    ResizeToFill(356, 200)],
        format='JPEG',
        options={'quality': 90})

    image_admin = ImageSpecField(
        source='image',
        processors=[Transpose('auto'), ResizeToFill(70, 40)],
        format='JPEG',
        options={'quality': 90})

    def get_absolute_url(self):
        return reverse('news_detail', args=[self.slug])

    class Meta:
        verbose_name = 'Новость'
        verbose_name_plural = 'Новости'
        ordering = ('-created', )

    def __str__(self):
        return self.title
예제 #27
0
class Post(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1, on_delete=models.CASCADE)
    group = models.ForeignKey(StudyGroup, on_delete=models.CASCADE, default=1)
    title = models.CharField(max_length=100)
    content = models.TextField(blank=True)
    time_posted = models.DateTimeField(auto_now_add=True, blank=True)
    image = models.ImageField(blank=True, null=True, upload_to='images/')
    image_thumbnail = ImageSpecField(
        source='image',
        processors = [Transpose(),SmartResize(200, 200)],
        format = 'JPEG',
    )
    image_fullsize = ImageSpecField(
        source='image',
        processors = [Transpose()],
    )

    def __str__(self):
        return self.title
예제 #28
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)
예제 #29
0
 def __init__(self, source, size):
     super().__init__(
         source=source,
         format='JPEG',
         options={
             'quality': 90,
             'thumbnail_size': size
         },
         processors=[Transpose(Transpose.AUTO),
                     ResizeToFit(size, size)],
     )
예제 #30
0
파일: models.py 프로젝트: didils/tradgram
class Case(models.Model):

    STATUS_CHOICES = (
        ('결제 대기 중','결제 대기 중'),
        ('출원 준비 중','출원 준비 중'),
        ('심사 중','심사 중'),
        ('출원공고','출원공고'),
        ('거절 대응 중','거절 대응 중'),
        ('등록','등록'),
        ('갱신 대상','갱신 대상'),
    )

    trademark_title = models.CharField(max_length=80, null=True, blank=True)
    file = ProcessedImageField(processors=[
                                   Transpose()
                               ],
                               format='JPEG',
                               options={'quality': 50}, null=True, blank=True)
    
    
    # 주인이 사라졌을 때, 종속되어 있는 아이들을 어떻게 할것인가? 를 지정해 줘야 하는듯, on_delete=models.PROTECT를 넣어서 해결
    owner = models.ForeignKey(user_models.User, null=True, on_delete=models.PROTECT)
    
    # examiner 관한 사항 추가 examiner = models.ForeignKey(examiner_models.Examiner, null=True, on_delete=models.PROTECT) import도 역시 해야 함.
    
    # payment  관한 사항 추가 payment = models.ForeignKey(payment_models.Payment, null=True, on_delete=models.PROTECT) import도 역시 해야 함.
    # 여러 사건이 하나의 결제로 이루어질 경우, 각 사건이 하나의 결제를 참조(포인팅)할 수 있다.

    request_date = models.DateField(auto_now_add=True)
    payment_date = models.DateField(null=True, blank=True)
    filed_date = models.DateField(null=True, blank=True)
    application_number = models.CharField(max_length=80, null=True, blank=True)
    identification_number = models.CharField(max_length=80, null=True, blank=True)
    publication_number = models.CharField(max_length=80, blank=True, null=True)
    publication_date = models.DateField(null=True, blank=True)
    registration_number = models.CharField(max_length=80, blank=True, null=True)
    registration_date = models.DateField(null=True, blank=True)
    products = models.TextField(blank=True, null=True)
    designatedArray = models.TextField(blank=True, null=True)
    applicantArray = models.TextField(blank=True, null=True)
    paymentArray = models.TextField(blank=True, null=True)
    descriptions = models.TextField(blank=True, null=True)
    progress_status = models.CharField(max_length=80, choices=STATUS_CHOICES, blank=True, null=True)

    expected_date = models.DateField(null=True, blank=True)
    examiner_name = models.CharField(max_length=80, blank=True, null=True)
    examiner_phone = models.CharField(max_length=80, blank=True, null=True)
    examiner_team = models.CharField(max_length=80, blank=True, null=True)
    waiting_order = models.PositiveSmallIntegerField(blank=True, null=True)
    waiting_total = models.PositiveSmallIntegerField(blank=True, null=True)

    
    def __str__(self):
        return '상표명: {} - 출원인: {}'.format(self.trademark_title, self.owner.username)