/foods
라는 문자열 패턴매칭을 통해 foods app의 urls.py로 넘긴다./index
과 매칭이 되므로 동일 앱의 views에서 index 함수를 호출시킨다.foods/index.html
파일을 render하여 응답(Response)을 한다.위 CSS, JS, image, fonts 같은 파일을 정적파일이라고 하는데, 그냥 templates/foods/css
, templates/foods/image
와 같이 템플릿 디렉토리 안에 index.html과 동일선상에 넣어버리면 렌더링이 제대로 되지 않는다.
따로 static 디렉토리를 만들어 주어야 렌더링이 제대로 되는데 이 디렉토리도 재미있는 특징이 있다.
templates 디렉토리 구조가 샌드위치 구조로 되어있는데, static 디렉토리 구조도 이 구조와 동일하게 샌드위치 구조로 만들어 주어야 한다.
static/foods
에 정적파일들을 넣어주는데 그냥 넣으면 지저분하니까 위 그림처럼 따로 css디렉토리, fonts디렉토리, images디렉토리를 만들어 각 디렉토리에 맞는 파일들을 집어넣자.{% load static %}
: 정적파일 사용하겠다는 구문{% static '파일경로' %}
: 정적파일 적용static/foods/css/styles.css
와 같이 써줄필요 없이 static을 제외한 foods/css/styles.css
부분만 써주면 된다.