diff --git a/_deploy/uwsgi.ini b/_deploy/uwsgi.ini index d3818aa..7f5115a 100644 --- a/_deploy/uwsgi.ini +++ b/_deploy/uwsgi.ini @@ -8,7 +8,7 @@ chdir = /var/www/phzhik-poizonstore/ # Django's wsgi file module = vba_portal:application # the virtualenv (full path) -;virtualenv = /var/www/phzhik-poizonstore/env +virtualenv = /var/www/phzhik-poizonstore/env # process-related settings # master diff --git a/create_preview.py b/create_preview.py new file mode 100644 index 0000000..c55f67b --- /dev/null +++ b/create_preview.py @@ -0,0 +1,8 @@ +from store.utils import create_preview + + +for i in range(1, 5): + order_id = f'result{i}' + image = create_preview(f'source{i}.jpeg', size=40, price_rub=100, title='Adidas Originals') + + image.save(f'{order_id}.jpg') diff --git a/requirements.txt b/requirements.txt index 7df645e..1ef668c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,3 +10,6 @@ Pillow==9.5.0 tqdm==4.65.0 django-debug-toolbar==4.1.0 requests==2.31.0 + +# Deployment +uWSGI==2.0.21 diff --git a/source3.jpeg b/source3.jpeg new file mode 100644 index 0000000..7ec30ba Binary files /dev/null and b/source3.jpeg differ diff --git a/store/models.py b/store/models.py index b5a6d2c..0110c19 100644 --- a/store/models.py +++ b/store/models.py @@ -130,11 +130,19 @@ class User(AbstractUser): return concat_not_null_values(self.last_name, self.first_name, self.middle_name) +class PromocodeQuerySet(models.QuerySet): + def active(self): + return self.filter(is_active=True) + + class Promocode(models.Model): name = models.CharField('Название', max_length=100, unique=True) discount = models.DecimalField('Скидка', max_digits=10, decimal_places=2,) free_delivery = models.BooleanField('Бесплатная доставка', default=False) # freedelivery no_comission = models.BooleanField('Без комиссии', default=False) # nocomission + is_active = models.BooleanField('Активен', default=True) + + objects = PromocodeQuerySet.as_manager() def __str__(self): return self.name @@ -271,7 +279,7 @@ class Checklist(models.Model): # TODO: choose from Promocode table # promo - promocode = models.CharField('Промокод', max_length=100, null=True, blank=True) + promocode = models.ForeignKey('Promocode', verbose_name='Промокод', on_delete=models.PROTECT, null=True, blank=True) comment = models.CharField('Комментарий', max_length=200, null=True, blank=True) # buyername diff --git a/store/serializers.py b/store/serializers.py index a21a3a5..a83e219 100644 --- a/store/serializers.py +++ b/store/serializers.py @@ -72,8 +72,8 @@ class ChecklistSerializer(serializers.ModelSerializer): # image = Base64ImageField(source='images', many=True, queryset=Image.objects.all()) previewimage = serializers.ImageField(source='preview_image_url', read_only=True) - # TODO: choose from Promocode table - promo = serializers.CharField(source='promocode', required=False) + promo = serializers.SlugRelatedField(source='promocode', slug_field='name', + queryset=Promocode.objects.active(), required=False) currency = serializers.SerializerMethodField('get_yuan_rate') curencycurency2 = serializers.DecimalField(source='price_yuan', max_digits=10, decimal_places=2)