Как написать код контроллеров короче в таком случае?
посмотрите на context processors.
Используй CBV https://docs.djangoproject.com/en/1.8/topics/class...
и наследуйся от миксина, которий добавляет корзину в context
Или сделай функцию, которая будет возвращать контекст, общий для всех вьюdef my_context(request):
     # do what you want
     return my_context


def view1(request):
    context = my_context(request)    
    #do what you need
    return render('tpl1.html', context)