Django 새 버전 3.1, 설정 파일이 약간 변경되었습니다.
Django 새 버전 3.1에서 설정 파일에 몇 가지 변경 사항이 있으며 정적 파일을 어떻게 설정해야하는지 묻습니다. 내가 평소에했던 방식은 더 이상 작동하지 않습니다.
마지막 버전 :
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
버전 3.1 :
from pathlib import Path
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent
나는 보통 다음과 같이 정적 파일을 설정합니다.
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media_root')
import os
유언장을 삽입하면 효과 가 있지만 올바른 방법입니까? 이것을 설정하는 가장 좋은 방법은 무엇입니까? 감사합니다?
답변
6 Roham
이 변경으로 STATIC
및 MEDIA
변수 를 훨씬 쉽게 정의 할 수 있습니다 . os
이 목적 으로 가져올 필요도 없으며 다음 코드를 추가하기 만하면됩니다 settings.py
.
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent # which shows the root directory of your project
STATIC_ROOT = BASE_DIR / 'static' # is equal to os.path.join(BASE_DIR, 'static/')
STATIC_URL = '/static/'
MEDIA_ROOT = BASE_DIR / 'media' # is equal to os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'
Ankit
STATIC_ROOT = BASE_DIR.parent / "static_cdn"
환경 디렉토리 안에 STATIC_ROOT를 추가하려면 이것을 시도하십시오.