|
|
|
@ -9,15 +9,19 @@ from django.utils import timezone |
|
|
|
from django.contrib.postgres.fields import ArrayField |
|
|
|
from django.contrib.postgres.fields import ArrayField |
|
|
|
from imagekit.models import ImageSpecField |
|
|
|
from imagekit.models import ImageSpecField |
|
|
|
from imagekit.processors import ResizeToCover |
|
|
|
from imagekit.processors import ResizeToCover |
|
|
|
|
|
|
|
|
|
|
|
from polymorphic.models import PolymorphicModel |
|
|
|
from polymorphic.models import PolymorphicModel |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from project.utils.db import SafeImageField |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
User = get_user_model() |
|
|
|
User = get_user_model() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ImageObject(models.Model): |
|
|
|
class ImageObject(models.Model): |
|
|
|
image = models.ImageField('Изображение', upload_to='content/imageobject') |
|
|
|
if settings.DEV_SERVER: |
|
|
|
|
|
|
|
image = SafeImageField('Изображение', upload_to='content/imageobject') |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
image = models.ImageField('Изображение', upload_to='content/imageobject') |
|
|
|
image_thumbnail = ImageSpecField(source='image', |
|
|
|
image_thumbnail = ImageSpecField(source='image', |
|
|
|
processors=[ResizeToCover(300, 200, False)], |
|
|
|
processors=[ResizeToCover(300, 200, False)], |
|
|
|
format='JPEG', |
|
|
|
format='JPEG', |
|
|
|
@ -158,7 +162,6 @@ class Banner(models.Model): |
|
|
|
text = models.TextField(blank=True, default='') |
|
|
|
text = models.TextField(blank=True, default='') |
|
|
|
button_text = models.CharField(max_length=50, blank=True, default='') |
|
|
|
button_text = models.CharField(max_length=50, blank=True, default='') |
|
|
|
url = models.URLField(blank=True, default='') |
|
|
|
url = models.URLField(blank=True, default='') |
|
|
|
image = models.ImageField() |
|
|
|
|
|
|
|
use = models.BooleanField(default=False) |
|
|
|
use = models.BooleanField(default=False) |
|
|
|
color = models.CharField(max_length=7, blank=True, default='') |
|
|
|
color = models.CharField(max_length=7, blank=True, default='') |
|
|
|
color2 = models.CharField(max_length=7, blank=True, default='') |
|
|
|
color2 = models.CharField(max_length=7, blank=True, default='') |
|
|
|
@ -168,6 +171,10 @@ class Banner(models.Model): |
|
|
|
update_at = models.DateTimeField(auto_now=True) |
|
|
|
update_at = models.DateTimeField(auto_now=True) |
|
|
|
pages = ArrayField(models.IntegerField(choices=PAGE_CHOICES), default=[], blank=True) |
|
|
|
pages = ArrayField(models.IntegerField(choices=PAGE_CHOICES), default=[], blank=True) |
|
|
|
main_banner = ArrayField(models.IntegerField(choices=PAGE_CHOICES), default=[], blank=True) |
|
|
|
main_banner = ArrayField(models.IntegerField(choices=PAGE_CHOICES), default=[], blank=True) |
|
|
|
|
|
|
|
if settings.DEV_SERVER: |
|
|
|
|
|
|
|
image = SafeImageField() |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
image = models.ImageField() |
|
|
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
class Meta: |
|
|
|
verbose_name = 'Банер' |
|
|
|
verbose_name = 'Банер' |
|
|
|
|