Я успешно развернул свой проект Django в openshift. Но я должен иметь возможность обслуживать файлы, которые загружаются пользователями. Для этого я пользуюсь MEDIA_ROOT и MEDIA_URL. Я следил за этим учебником здесь, но ничего не произошло. Я должен был изменить MEDIA_ROOT, потому что предлагаемый там не правильный, я думаю. Поэтому мой MEDIA_ROOT выглядит как
MEDIA_ROOT = os.path.join(os.environ.get('OPENSHIFT_DATA_DIR', ''),'media')
MEDIA_URL = '/media/'
Я добавил папку .htaccess в /wsgi, как сказано в статье
RewriteEngine On
RewriteRule ^application/media/(.+)$ /static/$1 [L]
и создал сборку script, чтобы сделать символическую ссылку на носитель в статике, как говорится в статье.
#!/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
В моем urls.py я добавил
urlpatterns += static(settings.MEDIA_ROOT, document_root=settings.MEDIA_URL)
но я до сих пор не могу их обслуживать. Я также попытался не включать статический метод django в urls.py, но тот же результат.
В еще учебнике .htacces помещается в статическую папку. Я что-то делаю неправильно?