I have successfully deployed my Django project in openshift. But I need to be able to serve files that are uploaded by users. I user MEDIA_ROOT and MEDIA_URL for that. I followed this tutorial here, but nothing happened. I had to change MEDIA_ROOT because the one suggested there isn't correct i think. So my MEDIA_ROOT looks like
MEDIA_ROOT = os.path.join(os.environ.get('OPENSHIFT_DATA_DIR', ''),'media')
MEDIA_URL = '/media/'
I added the .htaccess in /wsgi folder with as it says in the article
RewriteEngine On
RewriteRule ^application/media/(.+)$ /static/$1 [L]
and created the build script to make symbolic link of the media in static as the article says.
#!/bin/bash
if [ ! -d $OPENSHIFT_DATA_DIR/media ]; then
mkdir $OPENSHIFT_DATA_DIR/media
fi
ln -sf $OPENSHIFT_DATA_DIR/media $OPENSHIFT_REPO_DIR/wsgi/static/media
In my urls.py I have added the
urlpatterns += static(settings.MEDIA_ROOT, document_root=settings.MEDIA_URL)
but I still can't serve them. I also tried not to include the django static method in urls.py but the same result.
In another tutorial .htacces is placed inside static folder. Am I doing something wrong?