difreance_section added to home

This commit is contained in:
Parsa Nazer
2025-01-27 22:07:58 +03:30
parent d72a705574
commit 690f53ee97
8 changed files with 114 additions and 6 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ DEBUG = True
# in prodcution it will use the postgres info you enterd in .env.local
# in development it will use the sqlite
BASE_DIR = Path(__file__).resolve().parent.parent
if DEBUG:
if not DEBUG:
ALLOWED_HOSTS = ['127.0.0.1', 'localhost', DOMAIN, API_DOMAIN]
CSRF_TRUSTED_ORIGINS = [
f"https://{DOMAIN}",
+4
View File
@@ -5,4 +5,8 @@ from unfold.admin import ModelAdmin
@admin.register(SliderModel)
class SliderAdmin(ModelAdmin):
pass
@admin.register(HomeImageModel)
class HomeImageAdmin(ModelAdmin):
pass
@@ -0,0 +1,29 @@
# Generated by Django 5.1.2 on 2025-01-27 18:15
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('home', '0001_initial'),
]
operations = [
migrations.RemoveField(
model_name='slidermodel',
name='product',
),
migrations.AddField(
model_name='slidermodel',
name='description',
field=models.TextField(default='', verbose_name='توضیحات'),
preserve_default=False,
),
migrations.AddField(
model_name='slidermodel',
name='link',
field=models.URLField(default='', verbose_name='لینک'),
preserve_default=False,
),
]
@@ -0,0 +1,26 @@
# Generated by Django 5.1.2 on 2025-01-27 18:31
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('home', '0002_remove_slidermodel_product_slidermodel_description_and_more'),
]
operations = [
migrations.CreateModel(
name='HomeImageModel',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('image1', models.ImageField(upload_to='diff_image/')),
('image2', models.ImageField(upload_to='diff_image/')),
('title1', models.CharField(max_length=50)),
('title2', models.CharField(max_length=50)),
('description1', models.TextField()),
('description2', models.TextField()),
('unique_filed', models.CharField(choices=[('unique', 'unique')], default='unique', max_length=20, unique=True)),
],
),
]
@@ -0,0 +1,25 @@
# Generated by Django 5.1.2 on 2025-01-27 18:33
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('home', '0003_homeimagemodel'),
]
operations = [
migrations.AddField(
model_name='homeimagemodel',
name='link1',
field=models.URLField(default=''),
preserve_default=False,
),
migrations.AddField(
model_name='homeimagemodel',
name='link2',
field=models.URLField(default=''),
preserve_default=False,
),
]
+15 -1
View File
@@ -3,8 +3,9 @@ from product.models import ProductModel
class SliderModel(models.Model):
product = models.ForeignKey(ProductModel, on_delete=models.CASCADE, verbose_name='محصول')
link = models.URLField(verbose_name='لینک')
title = models.CharField(max_length=50, verbose_name='عنوان')
description = models.TextField(verbose_name='توضیحات')
image = models.ImageField(upload_to='slider_image/', blank=True, null=True, verbose_name='عکس اسلایدر')
video = models.FileField(upload_to='slider_video/', blank=True, null=True, verbose_name='ویدیواسلایدر')
@@ -16,3 +17,16 @@ class SliderModel(models.Model):
verbose_name_plural = 'اسلایدر ها'
class HomeImageModel(models.Model):
image1 = models.ImageField(upload_to='diff_image/')
image2 = models.ImageField(upload_to='diff_image/')
title1 = models.CharField(max_length=50)
title2 = models.CharField(max_length=50)
description1 = models.TextField()
description2 = models.TextField()
link1 = models.URLField()
link2 = models.URLField()
unique = (('unique', 'unique'),)
unique_filed = models.CharField(max_length=20, choices=unique, unique=True, default='unique')
def __str__(self):
return f'{self.title1} - {self.title2}'
+7 -1
View File
@@ -8,4 +8,10 @@ from datetime import timedelta
class SliderSerializer(serializers.ModelSerializer):
class Meta:
model = SliderModel
fields = "__all__"
fields = "__all__"
class HomeImageSerializer(serializers.ModelSerializer):
class Meta:
model = HomeImageModel
exclude = ('unique_filed',)
+7 -3
View File
@@ -2,8 +2,8 @@ from django.shortcuts import render
from rest_framework.views import APIView, Response
from product.models import ProductModel, SubCategoryModel, DollorModel
from product.serializers import SubCategorySerializer, ProductSerializer
from .serializers import SliderSerializer
from .models import SliderModel
from .serializers import SliderSerializer, HomeImageSerializer
from .models import SliderModel, HomeImageModel
from rest_framework import status
@@ -22,10 +22,14 @@ class HomeView(APIView):
products_to_show = ProductModel.objects.filter(show=True)
product_ser = ProductSerializer(instance=products_to_show, many=True, context={'request': request, 'dollor_price': dollor_price})
home_image = HomeImageModel.objects.all().first()
home_image_ser = HomeImageSerializer(instance=home_image, context={'request': request})
response = {
'sliders': slider_ser.data,
'sub_categories': sub_category_ser.data,
'products': product_ser.data
'products': product_ser.data,
'difreance_section': home_image_ser.data
}
return Response(response, status=status.HTTP_200_OK)