1번째 줄: |
1번째 줄: |
| + | <youtube>https://www.youtube.com/watch?v=Oew1Yr9awRE</youtube> |
| + | |
| ==개요== | | ==개요== |
| 사용자에게 보여지는 화면을 디자인하는 것. | | 사용자에게 보여지는 화면을 디자인하는 것. |
11번째 줄: |
13번째 줄: |
| | | |
| === app별 디렉토리 규칙 === | | === app별 디렉토리 규칙 === |
− | 앱이름\templates\앱이름\탬플릿.html 형태로 저장한다. 굳이 앱이름 안에 다시 앱이름을 넣는 형태. 이렇게 하는 이유는, 장고가 templates디렉터리 안에 있는 html파일을 찾을 때 다른 앱에서 동일한 이름의 탬플릿을 사용하는 경우, 다른 앱의 탬플릿을 불러올 수도 있기 때문이다. 때문에 이름공간의 용도로 templates 디렉터리 안에 앱이름을 추가한다.(필수는 아니다.) | + | <code>앱이름\templates\앱이름\탬플릿.html</code> 형태로 저장한다. 굳이 앱이름 안에 다시 앱이름을 넣는 형태. 이렇게 하는 이유는, 장고가 templates디렉터리 안에 있는 html파일을 찾을 때 다른 앱에서 동일한 이름의 탬플릿을 사용하는 경우, 다른 앱의 탬플릿을 불러올 수도 있기 때문이다. 때문에 이름공간의 용도로 templates 디렉터리 안에 앱이름을 추가한다.(필수는 아니다.) |
− | | |
− | ps. 나중에 앱 내부에 templates 디렉토리를 추가한 경우, 탬플릿을 찾을 때 앱 내부의 templates 디렉토리를 검색하지 않곤 한다. 이땐 아래에서 설정하는 <code>'DIRS': [BASE_DIR / 'templates'],</code>를 주석처리 했다가 다시 실행하면 앱 내부의 templates도 검색한다.
| |
− | | |
− | + 'APP_DIRS'옵션이 True로 되어있는지도 확인하자.
| |
| | | |
| === 공용 디렉토리 === | | === 공용 디렉토리 === |
21번째 줄: |
19번째 줄: |
| | | |
| 프로젝트 전체에서 공유하는 탬플릿이 있을 수 있다. 이런 경우엔 프로젝트 최상단 디렉터리에서 관리하는 게 편하기도 하다. | | 프로젝트 전체에서 공유하는 탬플릿이 있을 수 있다. 이런 경우엔 프로젝트 최상단 디렉터리에서 관리하는 게 편하기도 하다. |
− | *config/settings.py의 TEMPLATE항목의 하위 DIR에 추가해야 탬플릿의 저장 디렉터리로 인식한다. | + | *settings.py의 TEMPLATE항목의 하위 DIR에 추가해야 탬플릿의 저장 디렉터리로 인식한다. |
| *공용템플릿을 모으는 경우엔 최상위에 templates 디렉터리를 만들어 관리한다. <code>'DIRS': [BASE_DIR / 'templates'],</code> 로 수정하면 <code>프로젝트/templates</code> 디렉터리 안에 있는 것들도 읽으라는 의미가 된다. 보통 공용템플릿은 이곳에 둔다.(공용탬플릿을 먼저 찾아보고, 각 앱 내의 탬플릿을 찾는다.) | | *공용템플릿을 모으는 경우엔 최상위에 templates 디렉터리를 만들어 관리한다. <code>'DIRS': [BASE_DIR / 'templates'],</code> 로 수정하면 <code>프로젝트/templates</code> 디렉터리 안에 있는 것들도 읽으라는 의미가 된다. 보통 공용템플릿은 이곳에 둔다.(공용탬플릿을 먼저 찾아보고, 각 앱 내의 탬플릿을 찾는다.) |
| 기본적인 TEMPLATES 옵션 형태는 다음과 같다.<syntaxhighlight lang="python"> | | 기본적인 TEMPLATES 옵션 형태는 다음과 같다.<syntaxhighlight lang="python"> |
39번째 줄: |
37번째 줄: |
| }, | | }, |
| ] | | ] |
− | </syntaxhighlight><code>TypeError: unsupported operand type(s) for /: 'str' and 'str'</code>가 뜨면 DIRS 옵션의 내용을 <code>[os.path.join(BASE_DIR, 'templates')],</code> 로 바꿔주면 된다. | + | </syntaxhighlight>ps. |
| | | |
| + | * <code>TypeError: unsupported operand type(s) for /: 'str' and 'str'</code>가 뜨면 DIRS 옵션의 내용을 <code>[os.path.join(BASE_DIR, 'templates')],</code> 로 바꿔주면 된다. |
| + | * 나중에 앱 내부에 templates 디렉토리를 추가한 경우, 탬플릿을 찾을 때 앱 내부의 templates 디렉토리를 검색하지 않곤 한다. 이땐 아래에서 설정하는 <code>'DIRS': [BASE_DIR / 'templates'],</code>를 주석처리 했다가 다시 실행하면 앱 내부의 templates도 검색한다. + 'APP_DIRS'옵션이 True로 되어있는지도 확인하자. |
| | | |
| [[분류:장고 탬플릿]] | | [[분류:장고 탬플릿]] |