Static

이남경·2024년 3월 28일
0

SSAFY 11기

목록 보기
50/67

Static Files


Static Files (정적 파일)

서버 측에서 변경되지 않고 고정적으로 제공되는 파일 (이미지, JS, CSS 파일 등)

웹 서버와 정적 파일

웹 서버의 기본 동작은 특정 위치(URL)에 있는 자원을 요청(HTTP request) 받아서 응답(HTTP response)을 처리하고 제공하는 것

이는 '자원에 접근 가능한 주소가 있다'는 의미

웹 서버는 요청받은 URL로 서버에 존재하는 정적 자원을 제공함

→ 정적 파일을 제공하기 위한 경로(URL)가 있어야 함

Static files 제공하기


Static Files 제공하기

  1. 기본 경로에서 제공하기

  2. 추가 경로에서 제공하기

Static files 기본 경로

app폴더/static

STATIC_URL

기본 경로 및 추가 경로에 위치한 정적 파일을 참조하기 위한 URL

→ 실제 파일이나 디렉토리가 아니며, URL로만 존재

URL + STATIC_URL + 정적 파일 경로

http://127.0.0.1:8000/static/articles/sample-1.png

Static files 추가 경로

STATICFILES_DIRS에 문자열 값으로 추가 경로 설정

STATICFILES_DIRS

정적 파일의 기본 경로 외에 추가적인 경로 목록을 정의하는 리스트

정적 파일을 제공하려면 요청에 응답하기 위한 URL이 필요

사진 업로드가 안되면 장고를 껏다가 키면 됨!

상속을 위해선 extend를 사용함, 이때 load는 무조건 extend 아래에 있어야 함

Media_files


Media Files

사용자가 웹에서 업로드하는 정적 파일 (user-uploaded)

ImageField() 이미지 업로드

이미지 업로드에 사용하는 모델 필드

◆ 이미지 객체가 직접 저장되는 것이 아닌 '이미지 파일의 경로'가 문자열로 DB에 저장

미디어 파일 제공을 위한 사전 준비

  1. setting.py 에 MEDIA_ROOT, MEDIA_URL 설정

  2. 작성한 MEDIA_ROOT와 MEDIA_URL에 대한 url 지정

MEDIA_ROOT

실제 미디어 파일들이 위치하는 디렉토리의 절대 경로

MEDIA_URL

MEDIA_ROOT에서 제공되는 미디어 파일에 대한 주소를 생성 (STATIC_URL과 동일한 역할)

동일한 이미지를 여러번 삽입할 경우, 장고가 알아서 이름을 변경함

업로드 이미지 제공


참고


models.py 파일 수정한 경우 python manage.py makemigrations 다시 하기!

db,splite3 안에 내용을 만들때, appname_이름 형태로 작성해 주는 것이 약속~!

0개의 댓글

관련 채용 정보