이전까지의 과정으로 위와 같이 질문 목록을 보여주는 페이지와 질문글 상세 페이지를 만들 수 있었다.
이번엔 웹 페이지를 디자인적으로 좀 더 그럴싸한 형태로 다듬을 차례이다.
1. 스태틱(static) 디렉토리
웹 페이지의 디자인을 손보기 위해 스타일시트 파일을 만들어 적용할 것이다. 그리고 스타일시트 파일을
저장하기 위해 스태틱 디렉토리가 필요하다. 먼저 config/settings.py 를 다음과 같이 수정한다.
STATICFILES_DIRS 라는 변수를 추가하여 static 디렉토리의 경로를 추가해주었다.
다음으로 static 디렉토리를 settings.py 에 추가된 경로에 실제로 생성해준다.
템플릿 디렉토리와 마찬가지로, 스태틱 디렉토리 또한 앱 디렉토리 하위에 바로 static 디렉토리를 생성하면
settings.py 파일의 수정 없이도 자동으로 인식하지만 템플릿 디렉토리도 그랬듯이 앱끼리 공통적으로 사용하게될
스태틱 파일 등의 문제로 추천되지 않는다. 이 글에서는 프로젝트 하위에 static 디렉토리를 생성하고 그 안에서
앱마다 하위 디렉토리를 생성하는 방식을 취한다.
우선 static 디렉토리에 간단한 스타일시트를 생성해보자. 다음과 같이 style.css 파일을 생성한다.
textarea 의 너비를 100%로 하고 답변등록 버튼의 상단에 10픽셀의 마진을 주는 스타일 시트이다.
2. 스타일시트(Style Sheet) 적용
이제 이 스타일 시트를 질문 상세 템플릿에 적용해야한다. question_detail.html 을 다음과 같이 수정한다.
static 파일을 사용하기 위해 {% load static %} 코드를 상단에 삽입하여 스태틱 파일들을 로드한 뒤, link 태그를
사용하여 스타일시트를 적용한다.
다시 웹 페이지에 접속해보면 위와 같이 텍스트 영역의 너비가 창 크기 전체를 차지하고 답변등록 버튼과
텍스트 영역 사이에 마진이 생긴 것을 확인할 수 있다.
'개인 프로젝트 > Django-mysite' 카테고리의 다른 글
#12 템플릿 상속 (0) | 2021.09.23 |
---|---|
#11 부트스트랩(Bootstrap) (0) | 2021.09.22 |
#9 데이터 저장 1 (0) | 2021.09.21 |
#8 URL과 네임스페이스 (0) | 2021.09.21 |
#7 템플릿(Template) (0) | 2021.08.16 |