{{ MEDIA_URL }}加载图片问题

Django中图片加载不出来的问题

一,在Django中通过后台(admin 或 xadmin)上传图片之前,需要设置 media 路径与文件夹

class CourseOrg(models.Model):
    image = models.ImageField(default='', upload_to='org/%Y/%m', verbose_name='logo', max_length=100)

二,在 settings 中设置 media 路径

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

三,{{ course_org.image }} 是相对路径,还需要在前面加上 settings 中 配置的 MEDIA_URL,在TEMPLATES中:

{{ MEDIA_URL }}{{ org.image }}

四,在 TEMPLATES 中 OPTIONS 中的 context_processors 中需要加 上'django.template.context_processors.media'`。

'django.template.context_processors.media',

这个从 Django 1.8 之前是 'django.core.context_processors.media',现在 context_processors.media 从 core 更换为指导 template。

五,urls 配置

from django.views.static import serve
from .settings import MEDIA_ROOT
from django.urls import path, re_path  #导入re_path

urlpatterns = [
   re_path('media/(?P<path>.*)',serve,{"document_root":MEDIA_ROOT})
]

// 转载请注明出处:https://www.cnblogs.com/Songjunxiang/p/15578887.html

posted @ 2021-11-19 19:39  Wait_Future  阅读(174)  评论(0编辑  收藏  举报