Server doesn't follow TEMPLATE_DIRS path
The static url should point to the staticfiles directory. And why do you put templates under staticfiles? You may have it as a seperate folder in the main folder(along with manage.py)
The path to my templates folder in TEMPLATE_DIRS looks like this:
os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir)) + '/static/templates/'
When I run my server locally and open the page everything works fine and it detects the templates at ~/Documents/projects/clupus/static/templates. Whenever I pull everything onto my server and access the URL it gives me this error:

Django tried loading these templates, in this order: Using loader
  django.template.loaders.filesystem.Loader:
  /home/ubuntu/public_html/clupus.com/clupus/templates/clupus/index.html
  (File does not exist)

It's not following TEMPLATE_DIRS and is looking in the wrong directory. I've checked the TEMPLATE_DIRS value that's on the server and it matches that which I have locally. What's the issue?
EDIT
Rather embarrassingly there was nothing wrong with my code and I simply forgot to restart apache by doing sudo service apache2 restart. As to why my templates folder was inside static this is at the request of the front end developer. When I asked him why he said:

the reason why they are inside it is because I'm trying to reference the templates in Javascript aswell because we are using shared templates between server and client