difreance_section added to home
This commit is contained in:
@@ -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}",
|
||||
|
||||
@@ -5,4 +5,8 @@ from unfold.admin import ModelAdmin
|
||||
|
||||
@admin.register(SliderModel)
|
||||
class SliderAdmin(ModelAdmin):
|
||||
pass
|
||||
|
||||
@admin.register(HomeImageModel)
|
||||
class HomeImageAdmin(ModelAdmin):
|
||||
pass
|
||||
+29
@@ -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
@@ -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}'
|
||||
|
||||
@@ -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',)
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user