djangohttp://127.0.0.1:8000/media/test.jpg直接显示图片media配置

文件目录如下:

1、在settings中加入:

STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR,'static'),)
#MEDIA_DIR (主要用于获取路径)
MEDIA_DIR = os.path.join(BASE_DIR,'media')  # 需要加入的MEDIA_DIR路径变量
#MEDIA_ROOT(主要用于告诉服务器去哪里找媒体文件)
MEDIA_ROOT = MEDIA_DIR             # 加入的变量MEDIA_ROOT
#MEDIA_URL (主要用于客户端可通过URL直接访问)
MEDIA_URL = '/media/'   # 此次加入的变量MEDIA_URL

2、我们想在模板中引用到 MEDIA_ROOT 的路径,我们就需要在settings.py文件中

新加入:django.template.context_processors.media

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [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',  #新加入
            ],
        },
    },
]

3、项目的urls.py文件中url映射列表后面加入:

from django.conf import settings             # 新加入
from django.contrib.staticfiles.urls import staticfiles_urlpatterns #新加入
from django.conf.urls.static import static   # 新加入

urlpatterns = [
    url(r'^hello$', view.hello),
]+ staticfiles_urlpatterns()+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)  # 新加入,切记此处的settings不是文件目录中的  

做完以上步骤我们就可以通过url直接访问媒体文件资源了。

参考自https://blog.csdn.net/qq_40134903/article/details/81278233 

猜你喜欢

转载自blog.csdn.net/weixin_38383877/article/details/83957104