Как сделать вызов функции в Django views.py для отображения одного и того же шаблона, но с разными запросами?

class CartView(View):

def get(self,request,pk): 
    if request.user.is_authenticated:
        if Smart_phone.objects.filter(name=pk):
            product = Smart_phone.objects.filter(name=pk)
            items = product
            for item in items:
                if item.instock>0 :   
                    context ={'product':product}
                    return render(request,'customer_purchase/cart.html',context)
                else:
                    return render(request,'customer_purchase/home')
                
        elif Tabs.objects.filter(name=pk):
            product = Tabs.objects.filter(name=pk)
            items = product
            for item in items:
                if item.instock>0 :   
                            context ={'product':product}
                            return render(request,'customer_purchase/cart.html',context)
                else:
                    return render(request,'customer_purchase/home.html')
                        
        elif Smart_watch.objects.filter(name=pk):
            product = Smart_watch.objects.filter(name=pk)
            items = product
            for item in items:
                if item.instock>0 :   
                    context ={'product':product}
                    return render(request,'customer_purchase/cart.html',context)
                else:
                    return render(request,'customer_purchase/home')

    else:
        return redirect('login')

Здесь цикл является общим для каждого запроса. Следовательно, я хочу вызвать функцию, которая выполняет процесс рендеринга. 'instock' - это поле, общее для моделей, которые я использую здесь

Вернуться на верх