티스토리 뷰
프로젝트의 urls에 url request를 설정할 경우
- urls.py는 request url을 받았을 때 어떤 뷰와 매핑 될 지를 결정해 주고, 이러한 이유로 여러 앱들에서 같은 이름의 여러한 views를 import해주어야 하는 문제가 발생한다. 또한 한 페이지에 존재하는 수많은 url 패턴들을 일일히 지정해주어야하는 문제가 발생한다.
각각의 app urls에서 request를 설정하는 방법
- app 내의 urls.py을 만들어 설정해준다. views모듈을 같은 posts 패키지 내에서 import해주기 때문에 현재 디렉토리를 뜻하는 . 에서 import 해준다. 또 path에서 원래 적었던 'posts/' 가 아닌 빈 문자열로 설정해준다.
- 프로젝트의 urls.py에서 추가 설정을 해준다. path함수의 두번째 파라미터를 view 함수로 전달하는 것이 아니라 include 함수를 사용하여 posts패키지의 urls 파일을 포함시키고 있다. 이를 통해 url 설정을 앱단위로 분리해서 편리하게 개발할 수 있다.
Template
- 앱 내에 templates 폴더를 만든 후, 그 폴더 아래에 앱 이름과 같은 폴더를 만들어야 한다. 이름이 같아야 하는 것이 포인트이다.
- render 함수의 2번째 인자에는 template이 위치한 경로를 전달해야하는데 장고는 기본적으로 templates 디렉토리를 기준으로 검색하게 된다.
- 그 후 프로젝트의 settings.py에서 apps를 추가해준다.
Django의 template 검색
- Django는 template을 검색할 때 특정 app의 template을 검색하는 것이 아니라 전체의 templates를 검색하므로 예시의 경우 원하지 않는 app의 index.html을 가져올 수 있으므로 반드시 원하는 파일을 전달하기 위해서는 앞에 template의 특정 폴더를 지정해주어야 한다.
html 내에 인자 전달하기
- render 함수 내에 3번째 parameter로 dictionary 형태의 요소를 넣으면 해당 요소를 출력할 수 있다.
key 값을 이용해 접근한다.
render함수에서 요소 접근하기
- dict, list, instance 어떤 형태이든 html에서는 파이썬 코드가 아니므로 .(dot)으로 접근한다.
html에서 Python 문법 사용하기
- html에서는 파이썬 문법을 이해할 수 없으므로 반복문의 마무리를 ;이 아닌 endfor로 해주어야한다. 반드시 적어주어야한다. 중괄호가 두개 겹쳐있는 곳이 우리가 실제로 눈으로 볼 수 있는 곳이다. {{ }}
Static Files
- css, JS처럼 누가 사용하든 변하지 않을 정보를 Static Files라고 한다.
- template과는 다르게 나중에는 각 static 디렉토리들이 하나의 static 디렉토리로 합쳐지게 된다.
- static을 사용하기 위해 필요한 요소들은 위의 박스와 같다.
- static은 나중에 하나로 합쳐지므로 절대경로로 작성하면 안된다. 상대경로로 작성 해야한다.
'Web > Python | Django' 카테고리의 다른 글
{{ Django }} - 프로젝트 생성 (0) | 2020.09.20 |
---|---|
{{ Django }} - 가상환경 및 Django 설치 (0) | 2020.09.20 |
{{ Django }} - 정보를 넘겨 페이지 전환하기 (0) | 2020.08.21 |
{{ Django }} - Django Basic (0) | 2020.08.19 |
{{ Django }} - 웹 개론 (0) | 2020.08.18 |
- Total
- Today
- Yesterday
- 공유기 설치#BOJ#이분탐색#Python
- 쿼드트리#BOJ#분할정복#Python
- 순열사이클#BOJ#Python
- N으로 표현#DP#Programmers#Python
- 토마토#백준알고리즘#Python
- 섬의개수#백준알고리즘#Python
- NumberofDiscIntersections#Codility#Sort#Python
- Triangle#Sorting#Codility#Python
- Swift#Tuples#Range
- 리모컨#완전탐색#BOJ#Python
- 랜선자르기#이분탐색#BOJ#Python
- 반복수열#백준알고리즘#Python
- PassingCars#Codility#Python
- 터틀비치#리콘#xbox#controller
- 배열합치기#분할정복#BOJ#Python
- 나무자르기#BOJ#이분탐색#Python
- 병든 나이트#BOJ#탐욕법#Python
- API#lazy#
- filter#isalnum#lower
- 파이썬알고리즘인터뷰#4장
- 암호코드#dp#BOJ#Python
- 날짜 계산#BOJ#완전탐색#Python
- Brackets#Stacks and Queues#Codility#Python
- 백준 알고리즘#BackTracking
- 미로 탐색#백준알고리즘#Python
- django
- Distinct#Codility#Python
- 종이자르기#분할정복#BOJ#Python
- 텀 프로젝트#백준알고리즘#Python
- django#slicing
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |