Files
hossein-por-shop/backend/home/views.py
T
2025-02-08 17:23:14 +03:30

40 lines
1.8 KiB
Python

from django.shortcuts import render
from rest_framework.views import APIView, Response
from product.models import ProductModel, SubCategoryModel, DollorModel
from product.serializers import SubCategorySerializer, DynamicProductSerializer
from .serializers import SliderSerializer, HomeImageSerializer
from .models import SliderModel, HomeImageModel
from rest_framework import status
class HomeView(APIView):
authentication_classes = []
def get(self, request):
dollor_object, _ = DollorModel.objects.get_or_create(unique_filed='unique')
dollor_price = dollor_object.price
sliders = SliderModel.objects.all()
slider_ser = SliderSerializer(instance=sliders, many=True, context={'request': request})
sub_categories = SubCategoryModel.objects.filter(show=True)
sub_category_ser = SubCategorySerializer(instance=sub_categories, many=True, context={'request': request})
products_to_show = ProductModel.objects.filter(show=True)
product_ser = DynamicProductSerializer(instance=products_to_show, many=True, context={'request': request, 'dollor_price': dollor_price, 'view_type': 'list'})
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,
'show_case_slider': show_cases_ser.data
}
return Response(response, status=status.HTTP_200_OK)