47 lines
1.9 KiB
Python
47 lines
1.9 KiB
Python
from django.shortcuts import render, get_object_or_404, redirect
|
|
from rest_framework.views import APIView, Response
|
|
from product.models import ProductModel, SubCategoryModel, DollorModel
|
|
from product.serializers import SubCategorySerializer, DynamicProductSerializer
|
|
from .serializers import *
|
|
from .models import *
|
|
from rest_framework import status
|
|
from django.views import View
|
|
|
|
|
|
class ChangeViewVideo(View):
|
|
def get(self, request, pk):
|
|
videomodel = get_object_or_404(LearnVideoModel, pk=pk)
|
|
videomodel.viewd = not videomodel.viewd
|
|
videomodel.save()
|
|
return redirect('admin:home_learnvideomodel_changelist')
|
|
|
|
|
|
class HomeView(APIView):
|
|
authentication_classes = []
|
|
def get(self, request):
|
|
|
|
|
|
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, '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) |