Django going South
I’m a django newbie. Following the tutorial was fine, but when I tried to start building my own app I had trouble with the models. After running the syncdb command the first time, subsequent syncs would quietly fail. Not cool django.
Thanks to Google I discovered that I needed to perform migrations. Enter South (docs here). A quick
sudo pip install South
and I’m back at it.
VirtualBox Development Server
I needed a development web server. Using a VirtualBox VM turned out to be the best option for me. It’s running Linux Mint 14.1, and here are some notable configuration settings.
I’m using two network adapters. The first is set to NAT, which allows the VM to access the internet.
The second is set to Host-only Adapter. This creates a private IP address that is accessible to the host. In the browser of my dev machine, I can see the hosted content by opening a tab to a link like this:
Use ifconfig on the VM to get the right IP address.
There’s one extra step when creating the Host-only Adapter. I kept getting this error on the VirtualBox settings dialog:
After some Googling, I realized that I needed to create a network adapter on my machine that matched the name of the Host-only Adapter on VirtualBox (“vboxnet0” in this case). I’m running OS X, so I created a new vboxnet0 adapter.
My system says that the adapter isn’t connected, but it works just fine.
Rather than running a script to copy my changes to the VM via scp/sftp, a shared folder lets me write the code on my host and it immediately shows up on the VM.
First, I had to add a shared folder in the VirtualBox settings. It points to the folder on my host where my code is stored.
Automount didn’t work though. Not sure why. So I manually added an entry on the VM to /etc/fstab:
I don’t know why the mysite file system is showing up red. That looks like an error to me, but it works.
Time to Learn PostgreSQL
I’m starting a new project, and I keep running across suggestions to use PostgreSQL. I haven’t done much database work, and when I have it’s mostly been MySQL.
But new project, new DB. Time to learn something new.