From 7a50a7800bd456ef3363bdd84a130814a2258a63 Mon Sep 17 00:00:00 2001 From: Parsa Nazer Date: Sat, 8 Feb 2025 17:23:14 +0330 Subject: [PATCH] home show case slider --- .../home/migrations/0004_showcaseslider.py | 27 +++++++++++++++++++ backend/home/models.py | 15 ++++++++++- backend/home/serializers.py | 8 +++++- backend/home/views.py | 6 ++++- 4 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 backend/home/migrations/0004_showcaseslider.py diff --git a/backend/home/migrations/0004_showcaseslider.py b/backend/home/migrations/0004_showcaseslider.py new file mode 100644 index 0000000..a46aa9f --- /dev/null +++ b/backend/home/migrations/0004_showcaseslider.py @@ -0,0 +1,27 @@ +# Generated by Django 5.1.2 on 2025-02-08 13:51 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('home', '0003_alter_homeimagemodel_description1_and_more'), + ] + + operations = [ + migrations.CreateModel( + name='ShowCaseSlider', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=30)), + ('description', models.CharField(max_length=150)), + ('link', models.URLField()), + ('image', models.ImageField(upload_to='show_case/')), + ], + options={ + 'verbose_name': 'مدل نمایش کیس', + 'verbose_name_plural': 'مدل نمایش کیس ها', + }, + ), + ] diff --git a/backend/home/models.py b/backend/home/models.py index f291058..85230f1 100644 --- a/backend/home/models.py +++ b/backend/home/models.py @@ -32,4 +32,17 @@ class HomeImageModel(models.Model): return f'{self.title1} - {self.title2}' class Meta: verbose_name = 'مدل عکس تفاوت خانه' - verbose_name_plural = 'مدل عکس تفاوت خانه' \ No newline at end of file + verbose_name_plural = 'مدل عکس تفاوت خانه' + + +class ShowCaseSlider(models.Model): + title = models.CharField(max_length=30) + description = models.CharField(max_length=150) + link = models.URLField() + image = models.ImageField(upload_to='show_case/') + def __str__(self): + return self.title + + class Meta: + verbose_name = 'مدل نمایش کیس' + verbose_name_plural = 'مدل نمایش کیس ها' \ No newline at end of file diff --git a/backend/home/serializers.py b/backend/home/serializers.py index dc5a3bc..1d31f55 100644 --- a/backend/home/serializers.py +++ b/backend/home/serializers.py @@ -14,4 +14,10 @@ class SliderSerializer(serializers.ModelSerializer): class HomeImageSerializer(serializers.ModelSerializer): class Meta: model = HomeImageModel - exclude = ('unique_filed',) \ No newline at end of file + exclude = ('unique_filed',) + + +class ShowCaseSliderSerialzier(serializers.ModelSerializer): + class Meta: + model = ShowCaseSlider + fields = "__all__" \ No newline at end of file diff --git a/backend/home/views.py b/backend/home/views.py index 226b824..09b5f9f 100644 --- a/backend/home/views.py +++ b/backend/home/views.py @@ -26,11 +26,15 @@ class HomeView(APIView): home_image = HomeImageModel.objects.all().first() home_image_ser = HomeImageSerializer(instance=home_image, context={'request': request}) + show_cases = ShowCaseSlider.objects.all() + show_cases_ser = ShowCaseSliderSerialzier(instance=show_cases, many=True, context={'request': request}) + response = { 'sliders': slider_ser.data, 'sub_categories': sub_category_ser.data, 'products': product_ser.data, - 'difreance_section': home_image_ser.data + 'difreance_section': home_image_ser.data, + 'show_case_slider': show_cases_ser.data } return Response(response, status=status.HTTP_200_OK) \ No newline at end of file