I'd say compare prices and then decide (For example, check out
uniteddomains.com. A .com sets you back $9.99/year there.). If you're planning to get something more exotic than .com or .org, etc. You might be able to save some money by going for a local provider (e.g. if you want a .de, register with a German provider like Hetzner or 1&1). If you plan to host your project on AWS, you might want to consider getting the domain there. I just read that you can register domains through their DNS service Route53.
You won't need any "special" step regarding your Django code. Set up a server that listens to your domain. Get your virtualenv running, just as you would on your local dev machine, and make sure that the ALLOWED_HOSTS setting contains your domain(s). Do a quick read on
static files and you should be good to go.
Hope that helps. Have fun!