31 lines
1.3 KiB
Python
31 lines
1.3 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, ProductSerializer
|
|
from .serializers import SliderSerializer
|
|
from .models import SliderModel
|
|
from rest_framework import status
|
|
|
|
|
|
class HomeView(APIView):
|
|
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 = ProductSerializer(instance=products_to_show, many=True, context={'request': request, 'dollor_price': dollor_price})
|
|
|
|
response = {
|
|
'sliders': slider_ser.data,
|
|
'sub_categories': sub_category_ser.data,
|
|
'products': product_ser.data
|
|
}
|
|
|
|
return Response(response, status=status.HTTP_200_OK) |