How to run a Django Project on a Personal Run Server
As already stated Ubantu is a good choice but there is also Debian. I use Debian because I started off working with a colleague who was already using it and I find it very good.  I began with an old, disused desktop PC which I nuked and turned into a proper linux server. For development I didn't need a very high spec machine. (Think it has 1 GB ram)  I have it set up in my flat and my domestic internet connection is fine for most of my needs. Note:  It isn't necessary to have a static IP address for development, although it is preferable if you already have one.  As an alternative you can use a service such as dnydns.org where you can set up virtual domain names that point to your domestic dynamic IP address.  Most routers these days have facilities within them for updating services like dyndns.org with your new dynamic IP address or you can install a plug-in to your server that will do this for you.  All my projects have their own virtualenvs and I have VNCServer installed so I can access my server and work from anywhere where I have an internet connection.  I've been running this way for the past three years with some household name clients and haven't had any issues at all. 
When it comes to production you can simply use any of the many VPS services that are out there. Amazon has already been mentioned. Someone recommended creating a droplet at DigitalOcean.com as I was wanting to host django applications and I find them to be very good and cost effective.  Anyway just my 2 cents worth...hope it helps
I've been wanting to run my own server for a while and I figured that running one for my django website would be a good start. What do you recommend I use for this? I've been trying to use a Ubuntu Virtual Machine to run it on one of my old laptops that I don't really use anymore until I can buy a dedicated server. 
Should I run it from a Virtual Machine? If so, would Ubuntu be best? That appears to be the case, but I want to be sure before I invest in anything. I want to be able to access the website from other computers, just like any other website. Am I going about this wrong? If so, what can you suggest me?