Django file upload input validation and security
Disallowing a file extension is -- potentially -- a waste of time.  A unix server doesn't use the extension -- it uses ownership and permissions.  
When accepting an upload, you will often rename the file to prevent it being misused.  Uploaded files should be simply named "upload_xxx" with the "xxx" being a key to some database record that provides the claimed name and data type.
You have to actually read the file and confirm that the content of the file is what someone claims it is.  
For example, if they claim to upload a .JPG, you have to actually read the file to be sure it's a JPEG, not an .EXE.
I'm creating a very simple django upload application but I want to make it as secure as possible.  This is app is going to be completely one way, IE. anybody who uploads a file will never have to retrieve it.  So far I've done the following:

Disallow certain file extensions (.php, .html, .py, .rb, .pl, .cgi, .htaccess, etc)
Set a maximum file size limit and file name character length limit.
Password protected the directory that the files are uploaded to (with .htaccess owned by root so the web server cannot possibly overwrite it)

Assuming that apache and mod_python are on the front end of this and that apache itself has been secured, are there any other "best practice" things I should do or consider to protect my application?
Thanks in advance.