Static File은 정적 파일을 의미하는데
미리 서버에 저장되어 있는 파일을 말한다.
정적 파일은 프로젝트 입장에서 이미 무엇인지 아는 파일인 "static"
웹 서비스 이용자들이 업로드하는 파일인 "media"
두개로 나누어 질 수 있다.
먼저 미리 준비해둔 사진을 띄우는 'static'을 다루는 방법에 대해 알아보겠습니다.
static
Static 파일의 처리 과정
1. Static 파일들의 위치 찾기
2. Static 파일들을 한 곳에 모으기
따라서, 다음과 같은 순서로 진행됩니다.
1. Static 파일들을 담을 폴더 만들기 -> (App 폴더 안에) static 폴더를 만들고, 그 안에 파일을 넣기
2. Static 파일이 어디 있고, 어디로 모을지 알려주기 -> settings.py에서 알려주기
3. 모으기 -> $ python manage.py collectstatic
4. html상에 '여기서 static파일 쓸거야' 선언 후 static 파일 사용
-> html 최상단에 {% load staticfiles%} 선언 후 <img src="{% static 'x.jpg' %}>
다음으로 사진을 업로드 하는 'media'를 다루는 방법에 대해 알아보겠습니다.
media
media 파일의 처리 과정
1. media 파일들의 URL 설정
2. media 파일들을 한 곳에 모으기
cf. URL은 django와 외부의 통신망으로 media는 외부와 통신을 통해 파일을 알아낸다.
따라서, 다음과 같은 순서로 진행됩니다.
1.settings.py에서 media 설정(디렉토리 경로와 URL설정)
2. urls.py 설정
from django.conf import settings
from django.conf.ruls.static import static
urlpatterns = [
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
3. models.py 업로드 될 데이터 class 정의
upload_to='images/'는
root/media/images/에 저장을 하겠다 라는 의미이다.
4. 이미지를 데이터베이스에 넣고 싶을 때, 효율적으로 사용할 때 -> pip install pillow
5. migrate -> $ python manage.py makemigrations
$ python manage.py migrate
6. admin.py -> admin.site.register(Portfolio)
7. views.py
8. template/portfolio.html
'Server > django' 카테고리의 다른 글
[Django] 장고 기초 - 회원가입, 로그인, 로그아웃 (0) | 2019.12.29 |
---|---|
[Django] 장고 기초 - 템플릿 상속 및 url 관리 (0) | 2019.12.29 |
[Django] 장고 기초 - pk, path converter, get_object_or_404란? (0) | 2019.12.28 |
[Django] 장고 기초 - queryset & method (0) | 2019.12.28 |
[Django] 장고 기초 - model & admin (0) | 2019.12.28 |