1. 上传资源的配置
1. 首先在项目里创建一个名称叫media的文件夹专门保存用户上传
2. settings.py文件配置上传资源的路径
# 上传资源路径,如果图片,上传文件等 MEDIA_URL = '/media/' # 设置上传资源前缀名称 MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # 设置上传文件路径
2. model中字段
image = models.ImageField(upload_to="org/%Y/%m", verbose_name=u"logo", max_length=100, blank=True)
3. 配置路由映射
要为文件的访问配置一个专门的url路由映射
from django.views.static import serve # 导入django自带的serve静态资源逻辑 from mx_online.settings import MEDIA_ROOT # 配置上传文件的访问处理函数 url(r'^media/(?P<path>.*)$', serve, {"document_root": MEDIA_ROOT}),
4. 在配置文件配置静态资源处理类
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.template.context_processors.media', ], }, }, ]
5. 前段显示
<a href="org-detail-homepage.html"> <img width="200" height="120" class="scrollLoading" data-url="{{ MEDIA_URL }}{{ ji.image }}"/> {# 需要拼接静态资源路径 #} </a>