
https://github.com/devkev00/piroAppleMarket
git clone [email protected]:devkev00/piroAppleMarket.git
cd piroAppleMarket
rm -rf .git # .git 삭제하기 !!
python -m venv venv
source venv/Scripts/activate # Window
source venv/bin/activate # Mac
pip install -r requirements.txt # 모든 의존성 파일 설치
pip list # 현재 작업환경에 설치되어 있는 모든 패키지 확인
static 파일이란 개발자들이 웹 사이트를 만들 때 활용하기 위해 미리 서버에 저장한 정적 파일이다. 일반적으로 이미지, CSS, JS 파일들이 속하는데 체계적으로 관리하기 위해 주로 static이라는 디렉토리를 만들어 저장해둔다. 요청 내용에 따라 바뀌는 것이 아니기 때문에 모든 사용자들이 동일한 내용을 볼 수 있다.
static 폴더와 그 하위에 image, css, javascripts 폴더를 생성한다. (server 디렉토리 바로 밑 하위 디렉토리에)
settings.py에 다음과 같이 static 파일을 찾는 경로를 설정해준다.
# settings.py
import os
...
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'], # 1, template 경로 명시적 지정
        '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',  
            ],
        },
    },
]
STATIC_URL = '/static/' # 2, 프로젝트 시작 시 자동 생성 
	
STATICFILES_DIRS = [ # 3, static 경로 명시적 지정
  BASE_DIR / 'static',
]
'''
# 위와 동일
STATICFILES_DIRS = [
	    os.path.join(BASE_DIR, 'static'),
	]
'''
STATIC_ROOT = BASE_DIR / 'staticfiles' # 4, collectstatic 명령어의 저장 경로
STATIC_URL : static 파일에 접근하기 위한 URL을 작성한다. Django 프로젝트를 실행하면 자동으로 설정된다.STATICFILES_DIRS : 사이트에서 사용하는 static 파일이 위치하는 경로를 명시한다.
os.path.join()은 파일의 경로를 이어주는 명령어이다. 즉, 우리 static 파일이 ‘BASE_DIR / static’에 있다는 것을 알려주는 역할을 한다.STATIC_ROOT : Django 프로젝트에서 사용하는 모든 정적 파일을 한 곳에 모아 넣는 경로이다.
6. Django 정적 파일 기능 이해하기 · Kay on the rails
🔼 정확도가 높은 자료입니다