본문으로 바로가기

10. static과 media

category Django 2020. 3. 25. 14:25
static과media

static

정적파일 이라고도 하며 개발자가 미리 준비해둔 파일이다

 

우선 새로 portfolio라는 앱을 만든다.

만들고 원하는 부트스트랩을 끌고 오거나 직접 만들어도 된다.

그 후 기본적인 portfolio.html을 만들고 url, views.py 함수 작성을 해주도록 한다.

 

그 후 portfolio 앱 폴더 안에 static 이라는 폴더를 만들고 그 안에 이미지를 드래그로 집어 넣는다.

 

이제 static 파일을 쓸 거라고 settings.py에 알려줘야 하는데

 

이 코드를 추가 해준다.

STATICFILED_DIRS 는 스태틱 파일이 있는 디렉토리 라는 뜻으로 static 파일들이 있는 경로를 적는다

(앱 폴더와 폴더이름을 적어준다.)

 

STATIC_ROOT는 장고에서 편의를 위해 흩어져있는 static 파일을 한 곳에 모으는 위치를 뜻한다.

 

그리고 이제 실제로 static 파일들을 한 곳에 모아주는 명령어를 친다

 

그럼 최상위 폴더에 static 폴더가 새로 생기는 것을 볼 수 있을 것이다.

 

portfolio.html에 static file 올리기


portfolio.html 페이지를 가서 제일 위에 줄에 이것을 적어준다

이는 static파일들을 불러오겠다 라는 뜻이다

그 후 사진에다가 이미지 태그를 이용해서 넣어주면 된다

{% static '파일명'.파일확장자%}

 

 

 

 

media

동적 파일 이라고도 하며 웹 서비스 이용자들이 업로드 하는 파일이다.

media 또한 settings.py에 코드를 추가 해준다.

media는 url을 타고 통해 업로드 된다.

 

urls.py


파일의 최상단에 두개를 import 해준다 그 후 urlspatterns에 코드를 추가 한다.

 

제일 마지막 부분 + static(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT) 이 추가 된 것이다.

 

models.py 작성하기

사용자가 이미지를 올리려면 우리는 틀을 만들어서 제공해야한다.

models을 작성해준후 3개의 과정을 거쳐야한다.

1,2번

3번

1,2번 과정은 우리가 여지껏 했던 과정이고 3번 과정은 이미지를 사용 할 때 사용하는 pip 패키지를 설치 하는 과정이다.

 

html에 표현하기

탬플릿 태그로 반복문을 써 준 다음

이미지를 출력하고 싶으면

반복변수이름.image.url

이미지는 url을 타고 가니 url을 꼭 적어줘야한다

'Django' 카테고리의 다른 글

12. 로그인,로그아웃,회원가입  (0) 2020.05.11
11. 상속  (0) 2020.03.25
09 BlogProject(2)  (0) 2020.03.23
08 BlogProject (1)  (0) 2020.03.23
07 모델(2)  (0) 2020.03.20