🌝 본 포스트는 리액트와 함께 장고 시작하기 Complete + 별도로 공부한 내용으로 이루어져있습니다
app폴더에 static 폴더/app폴더 만들기
app/static/app
경로에 두기
프로젝트 전반적으로 사용되는 static파일은 settings.STATICFILES_DIRS
에 두기
import os
STATICFILES_DIRS = [
os.path.join(BASE_DIR, <app_이름>, 'static')
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL
STATIC_URL = '/static/'
STATICFILES_DIRS
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'myproject', 'static'),
]
STATIC_ROOT
py manage.py collectstatic
명령이 참조되는 설정STATOC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
{% load static %}
<img src = "{% static 'blog/title.png' %}"/>
실 서비스 배포 전 여러 디렉토리에 나눠져 있는 static 파일을 한 곳(settings.STATIC_ROOT
경로)으로 모아줌
1. Bootstrap 다운 후 압축 풀기
Bootstrap 다운
2. STATICFILES_DIRS
에서 언급한 경로에 압축 푼 Bootstrap 폴더 넣기
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'myproject', 'static'),
]
3.layout.html
변경
{% load static %}
<head>
<link rel="stylesheet" href="{% static 'bootstrap-5.0.1-dist/css/bootstrap.css'%}">
<script src="{% static 'bootstrap-5.0.1-dist/js/bootstrap.js' %}"></script>
</head>
MEDIA_URL
MEDIA_URL = '/media/'
MEDIA_ROOT
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
project/urls.py에 MEDIA_URL, MEDIA_ROOT 추가하기
from django.conf import settings
from django.conf.urls.static import static
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
FileField
ImageField
upload_to
옵션 사용하기
예시)
photo = models.ImageField(upload_to='app1/%Y/%m/%d)