TIL 200324

조양권·2021년 5월 18일
0

TIL

목록 보기
20/24

1. 오늘

  • django로 html파일을 render하고 css,js등의 static파일등을 불러오는 데에 성공했다.
  • 저번 TIL에서는 polls라는 app을 예시로 들었지만, 실제로 작성한 app은 home, salespage, all_game_db이므로 이번엔 home을 예시로 들어서 작성하겠다.

1) templates, static 디렉토리 생성

  • flask때와 같이 우선 렌더링해올 html파일과 적용시킬 css,js파일들을 보관해줄 templates, static 디렉토리를 생성해야 한다.

  • templates 디렉토리 안에는 작성해두었던 html 파일을 넣어두었고, static에는 css,js파일들을 넣어두었다.

2) templates 경로설정

  • settings.py를 열어 아래의 코드를 확인한다.

  • BASE_DIR은 이 프로젝트의 루트디렉토리를 의미한다.

  • os.path.abspath(file)은 현재파일, 즉 settings.py의 절대경로를 의미한다.

  • os.path.dirname은 인자로 받은 객체가 포함된 경로를 나타낸다.

  • 따라서 BASE_DIR은 settings.py의 절대경로가 포함된 경로인 config폴더의 경로를 포함하는 serial_seller_djg폴더를 가리키고 있는것이다.

  • templates도 BASE_DIR과 마찬가지로 경로를 변수로 선언해 프로젝트진행에 사용할 수 있다.

  • os.path.join은 두개의 문자열을 인자로 받는다. 첫 인자와 두번째 인자를 이어붙인 경로를 만들어준다.

  • TEMPALTE_DIR은 serial_seller_djg/templates의 경로를 의미하게된다.

  • 이 변수를 settings.py의 TEMPLATES내의 DIRS키값으로 넣어준다.

3) templates 출력하기

  • 이제 출력할 수 있다. app인 home 폴더의 view.py를 열어 다음과 같이 수정한다.

  • render함수는 두개의 인자를 필수적으로 받는다, 첫 인자는 request이며 두번째 인자로 출력한 템플릿파일을 받는다.

4) static 경로설정

  • templates 경로설정과 마찬가지로 settings.py를 열어 아래와 같은 코드를 작성한다.

  • 템플릿 경로인 TEMPLATE_DIR을 TEMPLATES의 DIR키에 넣어주었듯이, 이것도 마찬가지로 STATICFILES_DIRS에 넣어주었다.(위 템플릿 과정과 다른것은 경로를 변수로 선언하지 않고 그대로 넣은 점 하나이다.)

5) html에서 설정

  • 정적파일의 경로를 불러올때는 {% static %} 템플릿 태그를 사용한다. 이태그는 기본적으로 포함되어 있는 태그가 아니기때문에 따로 불러와준다.

  • css 파일이 정상적으로 적용됨을 확인 할 수 있다.
profile
할 수 있는 것이 늘어나는 즐거움

0개의 댓글