Django上传文件的访问路径问题
在html页面中能正常显示上传图片
<img width="200" height="120" class="scrollLoading" data-url="{{ MEDIA_URL }}{{ course_org.image }}"/>
做如下配置
1.将上传文件指定路径
即在model编写时指定
image = models.ImageField(upload_to="org/%Y/%m", verbose_name=u"logo", max_length=100)
2.新建上传文件指定文件夹
即在项目根目录下新建directory 此例名为media
3.在setting中配置,将media与根路径结合
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
4.在setting的templates追加如下类
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')] , 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.core.context_processors.media', ], }, }, ]
5.url中添加如下代码
引入serve方法
from django.views.static import serve
引入setting中的MEDIA_ROOT
from MxOnline.settings import MEDIA_ROOT
#配置上传文件的访问处理函数
url(r'^media/(?P<path>.*)$', serve, {"document_root":MEDIA_ROOT})

浙公网安备 33010602011771号