Django图像服务问题
我正在尝试用Django创建我的第一个网站,但遇到了一个问题。我想展示图片,但效果不太对。我是这样设置的:
在settings.py文件中:
MEDIA_ROOT = 'C:/Users/John/Documents/My Dropbox/Infostuff/filmsite/media/'
MEDIA_URL = 'localhost:8000/static/'
ADMIN_MEDIA_PREFIX = '/admin-media/'
在urls.py文件中:
(r'^static/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT}),
在模板页面中看起来是这样的:
<img src="{{MEDIA_URL}}{{a.picture.url}}">
然后被解析成这样:
<img src="localhost:8000/static/portrets/0000138_Leonardo_D.jpg">
当我打开这个html页面时,图片没有显示出来(我看到的是一个破损的图片图标)。不过,如果我查看源代码,复制上面的链接,然后直接在浏览器中粘贴,它能正常加载图片。我到底哪里出错了呢?
我使用的是Django 1.2。我还没有使用Apache,因为我想先在开发环境中把它搞定。
PS:这是我第一次在这个网站上提问,如果我做错了什么,请告诉我。
4 个回答
0
好的,我觉得自己很傻……
我需要把
MEDIA_URL = 'localhost:8000/static/'
改成
MEDIA_URL = 'http://localhost:8000/static/'
然后我还需要把
<img src="{{MEDIA_URL}}{{a.picture.url}}">
改成
<img src="{{a.picture.url}}">
谢谢你们的时间。
0
你的 MEDIA_URL
应该设置为 '/static/'
,如果非要加上地址的话,可以用 'http://localhost:8000/static/'
。否则,你的浏览器会把 localhost
当成路径的一部分,而不是域名。
0
使用:
MEDIA_URL = 'http://localhost:8000/static/'
或者
MEDIA_URL = '/static/'