Just using an alias in my apache configuration has always worked for me:
Alias /media /sites/mysite.org/www/media
<Location /media>
Order allow,deny
Allow from all
</Location>
It gets processed before mod_wsgi get near it.
From the django book http://www.djangobook.com/en/beta/chapter21/:
If you deploy Django at a subdirectory — that is, somewhere deeper that “/” — Django won’t trim the URL prefix off of your URLpatterns. So, if your Apache config looks like:
<Location "/mysite/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonDebug On
</Location>
The all your URL patterns will need to start with "/mysite/". For this reason we usually recommend deploying Django at the root of your domain or virtual host.