我是django的新手。我正在开发django 1.3中的一个项目。问题是我正在从管理面板上传图片
class About(models.Model):
image = models.ImageField(upload_to='about')
files = models.FileField(upload_to='about')
这是我的模板标签
<img class="profile_pic" src="{{ about.image }}" />
我的设置文件如下
MEDIA_ROOT = path("media/")
MEDIA_URL = '/media/'
STATIC_ROOT = ''
STATIC_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/static/admin/'
STATICFILES_DIRS = (
path('static/'),
)
我检查过该图片是否已上传到/ media / about / image_name。问题是它在模板中呈现为“/ about / imagename”但不显示。当我手动转到该图像时,它显示404错误。
答案 0 :(得分:3)
<img class="profile_pic" src="{{ about.image.url }}" />
更新
同样在你的urls.py中:
if settings.DEBUG:
urlpatterns += patterns('',
(r'^' + settings.MEDIA_URL.lstrip('/'), 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT})
答案 1 :(得分:0)
它工作正常!...在urls.py文件中导入setting.MEDIA_ROOT后,我添加了一个媒体规则,以便IT现在正在工作..
BTW它还需要
{{ about.image.url }}
as @zsquare(谢谢)早些时候说过这是媒体规则
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': MEDIA_ROOT}),