Django上传图片文件的显示配置

配置:
settings.py

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',
                #自动注册media到html,否则html取不到MEDIA_URL 
                'django.core.context_processors.media'
            ],
        },
    },
]

#添加如下两条配置
MEDIA_URL = '/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')

urls.py

from django.views.static import serve
from ***.settings import MEDIA_ROOT
urlpatterns = [
    ……
    # 配置上传文件的访问处理函数
    url(r'^media/(?P<path>.*)/$',serve,{"document_root":MEDIA_ROOT}),
]

使用:
models.py

class CourseOrg(models.Model):
    image = models.ImageField(upload_to="org/%Y/%m",verbose_name=u"封面")

前台html

#course_org后台传过来的数据
<img data-url="{{ MEDIA_URL }}{{ course_org.image }}"/>

猜你喜欢

转载自blog.csdn.net/weixin_33127753/article/details/80783772
今日推荐