Пример #1
0
class TagGroup(models.Model):
    ''' Группировка тегов '''

    name = models.CharField(max_length=100, unique=True, blank=False)
    icon = ResizedImageField(size=[560,380], upload_to='tag_group_icons/',null=True)
    sys_name    = models.CharField(max_length=100, unique=True, blank=False)
    description = models.CharField(max_length=250, null=True)

    #Связь с группой (много тегов -> много групп)
    tags = models.ManyToManyField(Tag, blank=True)

    def __str__(self):
        return self.name
Пример #2
0
class MakePost(models.Model):
    title = models.CharField(max_length=30)
    content = models.TextField(max_length=500, blank=True)
    photo = ResizedImageField(size=[500, 300], quality=100, upload_to='simple_website/images/', null=True, blank=True, default='')
    created = models.DateTimeField(auto_now_add=True)
    user = models.ForeignKey(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.title

    def photo_url(self):
        if self.photo and hasattr(self.photo, 'url'):
            return self.photo.url
Пример #3
0
class Profile(models.Model):
    profile_picture = ResizedImageField(size=[300, 300],
                                        quality=75,
                                        default='default.jpg',
                                        upload_to='profile_pics/')
    user_bio = models.TextField()
    user = models.OneToOneField(User, on_delete=models.CASCADE)

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

    def save_profile(self):
        self.save()
Пример #4
0
class Profile(models.Model):
    user = models.OneToOneField(
        User, on_delete=models.CASCADE
    )  # Delete profile when user is deleted
    image = ResizedImageField(
        default="profile_pics/default.apng",
        quality=100,
        size=[200, 200],
        upload_to="profile_pics",
    )

    def __str__(self):
        return f"{self.user.username} Profile"  # show how we want it to be displayed
Пример #5
0
class BlogUploadedModelImage(models.Model):
    file = ResizedImageField(_('image file'),
                             max_width=1020,
                             max_height=1000,
                             upload_to='images/blog')
    item = models.ForeignKey(BlogUploadedModel, verbose_name=_('catalog item'))

    def __unicode__(self):
        return u'%s' % self.file.url

    class Meta:
        verbose_name = _('item photo')
        verbose_name_plural = _('item photos')
Пример #6
0
class AlbumImages(models.Model):
    album = models.ForeignKey(Album, default=None, on_delete=models.CASCADE)
    image = ResizedImageField(size=[1000, 550],
                              quality=100,
                              upload_to="gallery_images")
    date_posted = models.DateTimeField(auto_now_add=True)

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

    def __str__(self):
        return self.album.title
Пример #7
0
class Company(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=100, blank=False)
    logo = ResizedImageField(size=[150, 150],
                             upload_to="companies/logos/%Y/%m/%d",
                             null=True,
                             blank=True)
    short_content = models.TextField(max_length=200, blank=True)
    content = models.TextField(max_length=1000, blank=True)
    phone = models.CharField(max_length=10, blank=True)
    location = models.CharField(max_length=100, blank=True)
    website_link = models.CharField(max_length=100, blank=True)
    category = MultiSelectField(choices=CATEGORIES, default=None)
Пример #8
0
class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    fb = models.CharField(max_length=100, blank=True)
    ig = models.CharField(max_length=100, blank=True)
    tt = models.CharField(max_length=100, blank=True)
    place = models.CharField(max_length=70, blank=True, null=True)
    profile_pic = ResizedImageField(size=[700, 700],
                                    quality=40,
                                    upload_to='gallery/',
                                    blank=True)

    def __str__(self):
        return self.user.username + " UP"
Пример #9
0
class Project(models.Model):

    Project_Title = models.CharField(max_length=100, )
    Project_info = models.TextField()
    stack = models.CharField(max_length=100, blank=True)
    image = ResizedImageField(size=[400, 300],
                              upload_to='projects/images/',
                              default='projects/images/default.jpg',
                              quality=100)
    Project_URL = models.URLField(blank=True)

    def __str__(self):
        return self.Project_Title
class Art(models.Model):
    CAT_CHOICES = [
        ('paper', 'Paper'),
        ('canvas', 'Canvas')
    ]
    name = models.CharField(
        max_length=20)
    description = models.CharField(max_length=200)
    image = ResizedImageField(size=[800, 800], quality=90, upload_to='images')
    catergorie = models.CharField(max_length=10, choices=CAT_CHOICES, default='canvas')

    def __str__(self):
        return self.name
Пример #11
0
class Product(models.Model):
    title = models.CharField('Заголовок',
                             max_length=255,
                             help_text='Обязательное поле')
    keywords = models.CharField('Ключевые слова', max_length=255, blank=True)
    description = models.TextField('Описание', blank=True)
    name = models.CharField('Название продукта',
                            max_length=255,
                            help_text='Обязательное поле')
    date_pub = models.DateTimeField(auto_now_add=True)
    slug = models.SlugField('URL', max_length=255, unique=True, null=True)
    image = ResizedImageField(
        'Фото продукта',
        size=[1280, 860],
        crop=['middle', 'center'],
        quality=80,
        upload_to='images/',
        validators=[FileExtensionValidator(['jpg', 'jpeg'])],
        help_text='Допускаются только изображения в формате .jpg, .jpeg',
        blank=True,
        null=True)
    heading1 = models.CharField('Заголовок продукта 1',
                                max_length=255,
                                blank=True)
    heading2 = models.CharField('Заголовок продукта 2',
                                max_length=255,
                                blank=True)
    heading3 = models.CharField('Заголовок продукта 3',
                                max_length=255,
                                blank=True)
    text1 = models.TextField('Содержание пункта 1', blank=True)
    text2 = models.TextField('Содержание пункта 2', blank=True)
    text3 = models.TextField('Содержание пункта 3', blank=True)

    @cached_property  # иначе картинка при изменении будет отображаться старая
    def display_image(self):
        return format_html('<img src="{img}" width="300">', img=self.image.url)

    display_image.short_description = 'Предпросмотр изображения'

    def get_absolute_url(self):
        '''Получим ссылку на страницу с уникальным URL'''
        return reverse('product_detail_url', kwargs={'slug': self.slug})

    class Meta:
        verbose_name = "продукт"
        verbose_name_plural = "продукты"
        ordering = ['-date_pub']

    def __str__(self):
        return self.name
Пример #12
0
class PlaceEntertaiment(VoteModel, models.Model):
    name_place = models.CharField(u'Название', max_length=500)
    description = models.TextField(u'Описание', blank=True)
    tel = models.CharField(u'Телефон', blank=True, max_length=100)
    adress = models.CharField(u'Адрес', blank=True, max_length=200)
    working_time = models.CharField(u'Время работы',
                                    blank=True,
                                    max_length=100)
    small_img = ResizedImageField(u'Миниатюра',
                                  size=[640, 320],
                                  crop=['middle', 'center'],
                                  upload_to='photos',
                                  blank=True)
    high_img = ResizedImageField(u'Полное фото',
                                 size=[1280, 720],
                                 crop=['middle', 'center'],
                                 upload_to='photos',
                                 blank=True)
    special_offers = models.IntegerField(u'Количество предложений', default=1)
    link = models.CharField(u'Ссылка', max_length=500, blank=True)
    location = PlainLocationField(
        based_fields=['city'],
        zoom=7,
        default='48.737512197810915,397.5847434997558')

    top = models.BooleanField(u'Топ', blank=True)
    category = models.ForeignKey(CategoryEntertaiment,
                                 verbose_name=u'Категория',
                                 default=1,
                                 on_delete=models.CASCADE,
                                 blank=True)

    class Meta:
        verbose_name = u"Развлечение"
        verbose_name_plural = u"Развлечения"

    def __str__(self):
        return '%s' % (self.name_place)
Пример #13
0
class ProductImage(TimeStampedModel):
    product = ForeignKey(Product, on_delete=CASCADE)
    image = ResizedImageField(
        _("Upload Product Image"), quality=75, force_format='JPEG', size=[1920, 1148], crop=['middle', 'center'], upload_to=upload_product_image_loc, null=True, blank=True
    )

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

    class Meta:
        managed = True
        verbose_name = "Product Image"
        verbose_name_plural = "Product Images"
        ordering = ["-created"]
class Product(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid4)
    name = models.TextField(max_length=100)
    description = models.TextField(max_length=500)
    price = models.PositiveIntegerField()
    quandity = models.PositiveIntegerField()
    image = ResizedImageField(size=[5000, 3000], upload_to="images/")

    def __str__(self):
        return self.name

    @property
    def get_image_url(self):
        return "{0}{1}".format(settings.MEDIA_URL, self.image.url)
Пример #15
0
class ImageUpload(models.Model):
    profile = models.ForeignKey(Profile, on_delete=models.CASCADE)

    file = ResizedImageField(
        blank=False,
        null=False,
        storage=MediaStorage(),
        max_length=200,
        size=[250, 250],
        crop=["middle", "center"],
        quality=99,
    )

    created_at = models.DateTimeField(auto_now_add=True)
Пример #16
0
class Carousal(models.Model):
	name=models.CharField(max_length=300)
	slug=models.SlugField(max_length=350)
	image1=ResizedImageField(size=[1170,480],quality=100)
	image2=models.ImageField(blank=True)
	image3=models.ImageField(blank=True)
	image4=models.ImageField(blank=True)

	def __str__(self):
		return self.name

	class Meta:
		verbose_name='Products for carousal'
		verbose_name_plural='Products for carousal'
Пример #17
0
class Book(models.Model):
    book_id = models.AutoField(primary_key=True)
    title = models.CharField(max_length=30)
    writer = models.CharField(max_length=30)
    category = models.CharField(max_length=30)
    price = models.DecimalField(max_digits=8, decimal_places=2, default=1)
    page_number = models.IntegerField()
    image = ResizedImageField(size=[352, 500],
                              upload_to='book_image',
                              null=True,
                              blank=True)
    shortdescription = models.TextField(blank=True, null=True)
    description = models.TextField(blank=True, null=True)
    objects = BookManager()
Пример #18
0
class Project(models.Model):
    ANT_CHAR = u"\U0001F41C"

    title = models.CharField(max_length=300, verbose_name='Nom')

    maintainer = models.ForeignKey(User,
                                   related_name="maintained_projects",
                                   verbose_name='Mainteneur',
                                   on_delete=models.DO_NOTHING)
    participants = models.ManyToManyField(User, blank=True)

    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)

    status = models.CharField(max_length=1,
                              choices=STATUS_CHOICES,
                              verbose_name="État")
    progress = models.PositiveIntegerField(validators=[MaxValueValidator(100)],
                                           verbose_name="Progression")
    dependencies = models.ManyToManyField('self',
                                          blank=True,
                                          verbose_name="Dépendences")

    picture = ResizedImageField(size=[500, 500],
                                crop=['middle', 'center'],
                                quality=100,
                                upload_to='project_pictures',
                                null=True,
                                blank=True)

    short_description = models.CharField(max_length=1000,
                                         verbose_name="Description courte")
    content = models.TextField(verbose_name="Contenu", blank=True)

    class Meta:
        verbose_name = "Projet"

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('view_project', args=[self.id])

    def is_stalled(self):
        if self.status == "f":
            return False

        stall_time = timezone.now() - self.modified
        month = timedelta(days=30)
        return stall_time > month * 6
Пример #19
0
class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile')
    image = ResizedImageField(size=[300, 300], crop=['middle', 'center'], quality=85, keep_meta=False, verbose_name='profile_pic', default ='default.jpg', upload_to='profile_pics', force_format='JPEG')
    bio = models.CharField(max_length = 280, blank =True)
    about = models.TextField(verbose_name='about')

    def __str__(self):
        return f'{self.user.first_name} {self.user.last_name}'
             
    # delete everything when delete this model 
    def delete(self, *args, **kwargs):
        self.image.delete()
        
        return super(Profile, self).delete(*args, **kwargs)
Пример #20
0
class Sponsors(models.Model):
    image = ResizedImageField(size=[1280, 960], upload_to='images/')
    role = models.IntegerField(
        verbose_name="Status sponsora",
        choices=SPONSOR_STATUS,
    )
    url = models.URLField(max_length=200, )

    class Meta:
        ordering = ("role", )
        verbose_name_plural = "Sponsorzy"

    def __str__(self):
        return str(self.image) + " " + str(self.role)
Пример #21
0
class NossaHistoria(models.Model):
    subtitulo_cabecalho = models.CharField(verbose_name='subtítulo',
                                           max_length=200)
    imagem = ResizedImageField(size=[1920, 790], upload_to='nossa_historia')
    texto_destaque = models.TextField(max_length=500)
    titulo_historia = models.CharField(max_length=200)
    historia = models.TextField()

    def __str__(self):
        return self.subtitulo_cabecalho[0:50]

    class Meta:
        verbose_name = 'nossa história'
        verbose_name_plural = 'nossa história'
Пример #22
0
class User(AbstractUser):

    username = None
    email = models.EmailField(_('email address'), unique=True)

    avatar = ResizedImageField(size=[256, 256], null=True)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    objects = UserManager()

    def __str__(self):
        return self.email
Пример #23
0
class TourDetail(models.Model):
    tour = models.OneToOneField(Tour, on_delete=models.CASCADE)
    image1 = ResizedImageField(size=[1000, 450], upload_to='tour_detail')
    image2 = ResizedImageField(size=[1000, 450], upload_to='tour_detail')
    image3 = ResizedImageField(size=[1000, 450],
                               upload_to='tour_detail',
                               null=True,
                               blank=True)
    num_of_days = models.PositiveIntegerField(default=0)
    num_of_nights = models.PositiveIntegerField(default=0)
    description = models.TextField()
    inclusion = models.TextField()
    exclusion = models.TextField()
    highlights = models.TextField()
    flight_included = models.BooleanField(default=False)
    cab_included = models.BooleanField(default=False)
    breakfast_included = models.BooleanField(default=False)
    hotel_included = models.BooleanField(default=False)
    sightseeing_included = models.BooleanField(default=False)
    special_highlight = models.CharField(max_length=100)
    keywords = models.TextField(null=True, blank=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
Пример #24
0
class Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    date_of_birth = models.DateField(null=True, blank=True)
    bio = models.TextField(null=True, blank=True)
    email = models.EmailField()
    skype = models.CharField(max_length=30)
    jabber = models.CharField(max_length=30, null=True, blank=True)
    other_contacts = models.TextField(null=True, blank=True)
    photo = ResizedImageField(
        size=[200, 200], upload_to='photo', null=True, blank=True)

    def __unicode__(self):
        return u"{} {}".format(self.first_name, self.last_name)
Пример #25
0
class OImage(models.Model):
    #name = models.CharField(max_length=50)
    Image = ResizedImageField(
        size=[1024, 768],
        upload_to='images/',
        blank=True,
        null=True,
        quality=50)  #models.ImageField(upload_to='images/')
    CHOICES = (
        ('1', 'Remove'),
        ('2', 'Blur'),
        ('3', 'Black and White'),
    )
    action = models.CharField(max_length=100, default=3, choices=CHOICES)
Пример #26
0
class UploadedCollectionItem(models.Model):
    collection = models.ForeignKey(Collection, verbose_name=_('collection'))
    image = ResizedImageField(_('image'), upload_to='images/collection', max_width=1000, max_height=1000, null=True, blank=True)
    name = models.CharField(pgettext('model name', 'name'), max_length=1024)
    manufacturer = models.CharField(_('manufacturer'), max_length=64)
    scale = models.CharField(_('scale'), max_length=32)
    ordering = models.IntegerField(_('ordering'), default=100)

    def __unicode__(self):
        return u'%s' % self.name

    class Meta:
        ordering = ['ordering']
        verbose_name = _('uploaded collection item')
        verbose_name_plural = _('uploaded collection items')
Пример #27
0
class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=User)
    bio = models.CharField(max_length=500)
    confirmed = models.IntegerField(default=0)
    pfp = ResizedImageField(size=[128, 128],
                            crop=['middle', 'center'],
                            upload_to='profile-pic',
                            quality=99,
                            blank=True,
                            null=True)
    token = models.CharField(max_length=100000)
    roles = models.ManyToManyField(UserRoles)

    def __str__(self):
        return self.user.username
Пример #28
0
class ImageAttachmentModel(AttachmentModel):
    file = ResizedImageField(
        upload_to='%Y/%M/%d',
        storage=gd_storage,
        size=[500, 500],
        quality= 99,
    )

    def save(self, *args, **kwargs):
        if self.file:
            self.url = self.get_google_url()
        super(ImageAttachmentModel, self).save(*args, **kwargs)

    class Meta:
        abstract=True
Пример #29
0
class Profile(models.Model):
    """ expanding on User class to be able to add profile pictures """

    # one-to-one relationship between user and the profile - a user has only one profile and a profile belongs to only one user
    # for one-to-one relationship for user "models.OneToOneField" is used
    # on_delete=models.CASCADE  - means that if the user was deleted, delete his/her profile with it
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    image = ResizedImageField(default='defaults/default_profile_pic.png',
                              upload_to='profile_pics',
                              size=[250, 250])

    # image = models.ImageField(default='defaults/default_profile_pic.png',upload_to='profile_pics')

    def __str__(self):
        return "{}'s Profile".format(self.user.username)
Пример #30
0
class Contribuir(models.Model):
    subtitulo_cabecalho = models.CharField(verbose_name='subtítulo',
                                           max_length=200)
    imagem = ResizedImageField(size=[1920, 790], upload_to='contribuir')
    titulo_rodape = models.CharField(max_length=200)
    texto_rodape_1 = models.TextField()
    texto_rodape_2 = models.TextField()
    texto_rodape_3 = models.TextField()

    def __str__(self):
        return self.subtitulo_cabecalho[0:50]

    class Meta:
        verbose_name = 'contribuir'
        verbose_name_plural = 'contribuir'