I am working on loading / displaying images with Django.
The site is hosted on Heroku.
After this tutorial, I was able to successfully upload images.
However, the images did not appear in the template.
Then I found out that my urls.py should have this line at the end:
+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
I added this to the end of my urls.py, but now I get this error:
ImproperlyConfigured at / Empty static prefix not permitted
I have MEDIA_URL and MEDIA_ROOT in my settings.py and none of them are empty.
BASE_DIR = os.path.dirname(os.path.abspath(__file__)) MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # URL that handles the media served from MEDIA_ROOT. Make sure to use a # trailing slash. # Examples: "http://example.com/media/", "http://media.example.com/" MEDIA_URL = '/media/'
Why is this error happening and how can I fix it?
Here is what I consider the appropriate part of my urls.py:
from django.contrib import admin from django.conf import settings from django.conf.urls.static import static import notifications admin.autodiscover() urlpatterns = patterns('', ....urls...... ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)