이미지나 css, js 파일처럼 내용이 고정되어 있어 응답을 할 때 파일 그대로를 보내주면 되는 파일
이게 무슨 뜻인지 잘 몰라도 된다 나중에 실습하면 아 이게 이런 뜻이었구나를 자연스럽게 알게 될 것
👉python manage.py startapp <앱이름> 명령어를 이용해 만든 앱 폴더에
static 폴더를 생성(참고로 나는 main이라는 이름의 앱을 만들었다.)
👉static 폴더 안에 css폴더(css파일 모음)와 images폴더(사진 모음)를 생성
👉django-admin startproject <프로젝트이름> 명령어를 이용해 만든
프로젝트 폴더에 있는 setting.py에 작성하면 된다.
(참고로 나는 dreamary라는 이름의 프로젝트를 만들었다.)
✍
import os
STATIC_URL = '/static/'
#static 파일들이 들어있는 경로
#main이라는 앱폴더 안에 있는 static폴더에 static 파일들을 저장했다는 것을 알려준다
STATIC_DIRS =[
os.path.join(BASE_DIR, 'main', 'static')
]
#static 파일을 모을 디렉터리
#static폴더에 static 파일을 모을 것임을 알려준다
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
✍
python manage.py collectstatic
👉아래 사진을 보면 main폴더 말고 dreamary폴더 안에 static폴더가 생긴 것을 확인 할 수 있다
python manage.py collectstatic 명령어를 함으로써
STATIC_DIRS =[
os.path.join(BASE_DIR, 'main', 'static')
] 👉 main폴더에 있는 static 파일들을
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
👉 dreamary폴더에 static폴더를 생성 후 이곳에 static 파일들을 모으는 것이다.
👉html파일 맨 위에
{%load static%} 작성
👉이미지를 사용하고자 한다면
<img src="{% static 'images/<이미지 이름>'%}">
예시)
<img src="{% static 'images/dreamary_logo.jpeg'%}" alt="dreamary_logo.jpeg">
👉css파일을 사용하고자 한다면
<link rel="stylesheet" href="{% static 'css/<css파일 이름>' %}">
예시)
<link rel="stylesheet" href="{% static 'css/home.css' %}">
👉settings.py에 작성
✍
import os
MEDIA_ROOT= os.path.join(BASE_DIR,'media')
MEDIA_URL = '/media/'
👉models.py에 작성
upload_to - 사진을 저장할 폴더이름
✍
class pictures(models.Model):
image= models.ImageField(upload_to="blogimg")
👉터미널에 명령어 작성
✍
pip install pillow
👉urls.py에 작성
✍
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)