Sure, as long as when it's all said and done your view returns an HttpResponse object. The following is completely valid:
def view1(request):
# do some stuff here
return HttpResponse("some html here")
def view2(request):
return view1(request)
If you don't want to return the HttpResponse from the first view then just store it into some variable to ignore:
def view1(request):
# do some stuff here
return HttpResponse("some html here")
def view2(request):
response = view1(request)
# do some stuff here
return HttpResponse("some different html here")
View functions should return a rendered HTML back to the browser (in an HttpResponse). Calling a view within a view means that you're (potentially) doing the rendering twice. Instead, just factor out the "add" into another function that's not a view, and have both views call it.