从MEDIA_ROOT显示图像源

时间:2013-01-27 02:30:27

标签: python django media

我将media_root路径设置为

MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'media')
MEDIA_URL = 'media/'

我的项目结构如此

   Project_Name/
     media/
       profiles/
   App_Name

当我尝试引用profiles/目录中的图像时,我得到404没有发现资源错误。

     src="{{ MEDIA_URL }}{{ result.photo }}">

无法找到此解析为http://127.0.0.1:8000/media/profiles/image1.jpg。我是否缺少绝对路径,我使用的是DJango 1.4,我的urls.py中没有设置媒体根目录,但我没有使用STATIC_URL定义,我能够找到我的静态资源?

2 个答案:

答案 0 :(得分:0)

这是项目的主要途径

PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..')
SITE_ROOT = PROJECT_ROOT

在此处,系统会调用上传图像存储的媒体文件夹路径

MEDIA_ROOT = os.path.join(SITE_ROOT, 'media')
MEDIA_URL = '/media/'

这里是静态文件,其中css / js / img / ... store

STATIC_ROOT = os.path.join(SITE_ROOT, 'static')
STATIC_URL = '/static/'

静态文件的附加位置

STATICFILES_DIRS = (
    os.path.join(SITE_ROOT, 'staticfiles'),
)

urls.py

from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from project_name import settings
admin.autodiscover()

urlpatterns = patterns('',
     .........
     .........
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns += staticfiles_urlpatterns()

答案 1 :(得分:0)