1. 程式人生 > >djangohttp://127.0.0.1:8000/media/test.jpg直接顯示圖片media配置

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直接訪問媒體檔案資源了。