django rewrite / redirect to new urls
I changed the MEDIA_URL and STATIC_URL, but wanted the previously used urls “/media/” and “/static/” to rewrite to the new url. It would better be done via your DNS settings, or with an .htaccess file, but can also be done via **urls.py **if your circumstances don’t allow the other two.
from django.conf import settings
from django.views.generic.base import RedirectView
[...]
if settings.MEDIA_URL != "/media/":
urlpatterns += url(
r'^media/(?P<path>.\*),
RedirectView.as_view(
url=settings.MEDIA_URL + '%(path)s',
permanent=True
),
name='cloud-media'
)
if settings.STATIC_URL != "/static/":
urlpatterns += url(
r'^static/(?P<path>.\*),
RedirectView.as_view(
url=settings.STATIC_URL + '%(path)s', permanent=True
),
name='cloud-static'
)
Previous postDjango on Heroku with AWS S3 for files
Next PostAdd S3 bucket using awscli (example)