I'm trying to create my first site in django and I've run into a problem. I'm trying to serve pictures,but it isn't working correctly. I have it set up in the following way:
In settings.py:MEDIA_ROOT = 'C:/Users/John/Documents/My Dropbox/Infostuff/filmsite/media/'
MEDIA_URL = 'localhost:8000/static/'
ADMIN_MEDIA_PREFIX = '/admin-media/'
In urls.py:
(r'^static/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT}),
It looks like this in the template page:
<img src="{{MEDIA_URL}}{{a.picture.url}}">
And it is parsed to this:
<img src="localhost:8000/static/portrets/0000138_Leonardo_D.jpg">
When I open the html page it doesn't display the pictures (I get the broken picture icon). If I however go to view the source and copy the above url and past it directly into my browser it does load the picture. What am I doing wrong?
I'm using Django 1.2. I'm not using Apache yet, because I would first like to get it working in a development environment.
PS: Thi开发者_如何学Pythons is the first time I'm asking a question on this site, if I did something wrong, please tell.
use:
MEDIA_URL = 'http://localhost:8000/static/'
or
MEDIA_URL = '/static/'
Your MEDIA_URL
should just be '/static/'
- or, if you must, 'http://localhost:8000/static/'
. Otherwise your browser is interpreting the localhost
as part of the path, not the domain.
Ok, I feel very stupid... I had to change
MEDIA_URL = 'localhost:8000/static/'
to
MEDIA_URL = 'http://localhost:8000/static/'
and then I had change
<img src="{{MEDIA_URL}}{{a.picture.url}}">
to
<img src="{{a.picture.url}}">
Thank you for your time.
What version of Django are you using?
Can you post the generated HTML code? if the URL works when you copy and paste in the browser, it might be an html issue as well.
Have you looked at this page yet?
http://docs.djangoproject.com/en/dev/howto/static-files/
Update:
Can you post the model for a? is a.picture an image field? If so, then you don't need to put the MEDIA_URL in your img src, since it is already an absolute url and it should include the MEDIA_URL already. try removing that and see if it works.
<img src='{{a.picture.url}}' />
For more info see this page.
http://docs.djangoproject.com/en/1.3/ref/models/fields/#django.db.models.FileField.storage
精彩评论