home show case slider

This commit is contained in:
Parsa Nazer
2025-02-08 17:23:14 +03:30
parent eb9b311fba
commit 7a50a7800b
4 changed files with 53 additions and 3 deletions
@@ -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': 'مدل نمایش کیس ها',
},
),
]
+14 -1
View File
@@ -32,4 +32,17 @@ class HomeImageModel(models.Model):
return f'{self.title1} - {self.title2}' return f'{self.title1} - {self.title2}'
class Meta: class Meta:
verbose_name = 'مدل عکس تفاوت خانه' verbose_name = 'مدل عکس تفاوت خانه'
verbose_name_plural = 'مدل عکس تفاوت خانه' 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 = 'مدل نمایش کیس ها'
+7 -1
View File
@@ -14,4 +14,10 @@ class SliderSerializer(serializers.ModelSerializer):
class HomeImageSerializer(serializers.ModelSerializer): class HomeImageSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = HomeImageModel model = HomeImageModel
exclude = ('unique_filed',) exclude = ('unique_filed',)
class ShowCaseSliderSerialzier(serializers.ModelSerializer):
class Meta:
model = ShowCaseSlider
fields = "__all__"
+5 -1
View File
@@ -26,11 +26,15 @@ class HomeView(APIView):
home_image = HomeImageModel.objects.all().first() home_image = HomeImageModel.objects.all().first()
home_image_ser = HomeImageSerializer(instance=home_image, context={'request': request}) 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 = { response = {
'sliders': slider_ser.data, 'sliders': slider_ser.data,
'sub_categories': sub_category_ser.data, 'sub_categories': sub_category_ser.data,
'products': product_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) return Response(response, status=status.HTTP_200_OK)