2번째 줄: |
2번째 줄: |
| view에서 탬플릿을 호출한 후 변수들을 처리하는데, 이 변수들을 넣을 공간을 태그로 표시하여 처리한다. | | view에서 탬플릿을 호출한 후 변수들을 처리하는데, 이 변수들을 넣을 공간을 태그로 표시하여 처리한다. |
| | | |
− | 파이썬 문법과 다른, 변수들을 처리하기 위해 탬플릿 내에서만 사용되는 문법이다. | + | view에서 탬플릿을 읽고 해당하는 지점을 기계적으로 처리하기때문에 html에서 주석으로 넣어도 작동해버린다. |
| + | |
| + | 파이썬 문법과 다른(장고에서만 사용함.), 변수들을 처리하기 위해 탬플릿 내에서만 사용되는 문법이다. |
| | | |
| =탬플릿 변수= | | =탬플릿 변수= |
29번째 줄: |
31번째 줄: |
| 2. 속성을 포함했는가?(객체(모델)의 속성을 보여준다.) | | 2. 속성을 포함했는가?(객체(모델)의 속성을 보여준다.) |
| | | |
− | 3. 리스트인가? | + | 3. 리스트인가? 리스트의 경우, <code>객체.0</code> 형태로 인덱스로 정보를 뽑아낼 수 있다. |
| | | |
| 정의되어있지 않은 변수의 경우, 빈 문자열을 반환한다. 이 문자열을 변경하려면 settings.py에서 TEMPLATE_TRINGS_IF... 이걸 지정해주면 된다. | | 정의되어있지 않은 변수의 경우, 빈 문자열을 반환한다. 이 문자열을 변경하려면 settings.py에서 TEMPLATE_TRINGS_IF... 이걸 지정해주면 된다. |
42번째 줄: |
44번째 줄: |
| |- | | |- |
| |하위객체 | | |하위객체 |
− | |예컨대, question이라는 모델 아래에 answer이라는 모델이 연결되어 있다면, question을 템플릿에서 받은 후, 하위 모델에 접근할 수 있다. | + | |예컨대, Question이라는 모델 아래에 Answer이라는 모델이 연결되어 있다면, Question을 템플릿에서 받은 후, 하위 모델에 접근할 수 있다. |
| | | |
| <nowiki>{{question.하위모델_set.all}}</nowiki> 형태로 하위모델을 모두 불러올 수 있다. | | <nowiki>{{question.하위모델_set.all}}</nowiki> 형태로 하위모델을 모두 불러올 수 있다. |
50번째 줄: |
52번째 줄: |
| | | |
| | | |
− | 테이블명.속성_set.all : 테이블의 해당 속성 기록 모두를 의미한다. | + | 테이블명.속성_set.all : 테이블(모델)의 하위에 속하는 테이블(모델) 모두를 의미한다. |
− | | |
− | _set.all : 속성의 모든 레코드 가져오기...
| |
| |글에 달린 답변 불러오기. | | |글에 달린 답변 불러오기. |
| |- | | |- |
72번째 줄: |
72번째 줄: |
| |{% url 인덱스 %} | | |{% url 인덱스 %} |
| |하드코딩 대신 인덱스를 쓰기 위한 태그. urls.py의 path에서 name속성에 기입한 인덱스 주소를 불러온다. | | |하드코딩 대신 인덱스를 쓰기 위한 태그. urls.py의 path에서 name속성에 기입한 인덱스 주소를 불러온다. |
− | 앱 이름을 지정했다면 {% url 앱이름:인덱스 %} 형태로 쓰인다. | + | 앱 이름을 지정했다면 {% url '앱이름:인덱스' %} 형태로 쓰인다. |
| | | |
− | 변수를 보낼 수도 있어 <code>{% url 앱이름:인덱스 변수명 변수명2 %}</code> 형태로도 가능하다. | + | 변수를 보낼 수도 있어 <code>{% url '앱이름:인덱스' 변수명 변수명2 %}</code> 형태로도 가능하다. |
| |} | | |} |
| | | |
114번째 줄: |
114번째 줄: |
| == 조건문 == | | == 조건문 == |
| 탬플릿 내에서 조건문과 분기문을 사용할 수 있다. | | 탬플릿 내에서 조건문과 분기문을 사용할 수 있다. |
| + | |
| + | 사용할 수 있는 불린연산자는 다음과 같다. <code>and, or, not, and not, ==, !=, <, >, <=, >=, in, not in</code> |
| | | |
| ===분기문=== | | ===분기문=== |
125번째 줄: |
127번째 줄: |
| |객체가 있는지 확인, 있으면 endif 사이의 문장을 보여준다. | | |객체가 있는지 확인, 있으면 endif 사이의 문장을 보여준다. |
| ex) {% if question_list %} 는 question_list가 있을 때 하위의 명령을 실행하라는 의미. | | ex) {% if question_list %} 는 question_list가 있을 때 하위의 명령을 실행하라는 의미. |
| + | |
| + | |
| | | |
| | | |
131번째 줄: |
135번째 줄: |
| {% endif %}로 닫아주어야 함에 유의. | | {% endif %}로 닫아주어야 함에 유의. |
| |{% if 객체 %} | | |{% if 객체 %} |
| + | .... |
| {% endif %} | | {% endif %} |
| |- | | |- |
153번째 줄: |
158번째 줄: |
| {% endfor %} | | {% endfor %} |
| |파이썬의 문법과 다를 건 거의 없다. | | |파이썬의 문법과 다를 건 거의 없다. |
− | 사용할 수 있는 불린연산자는 다음과 같다. <code>and, or, not, and not, ==, !=, <, >, <=, >=, in, not in</code>
| |
| |- | | |- |
| |{% if not forloop.last %} | | |{% if not forloop.last %} |
| |for문의 마지막인지 아닌지 여부를 담는 변수 등이 있다. | | |for문의 마지막인지 아닌지 여부를 담는 변수 등이 있다. |
− | (세거나 그런 것들이...) | + | (세거나 그런 것들이...) for문 안에 넣어서 사용한다. |
| |- | | |- |
− | |{% for key, value in items %} | + | |{% for key, value in 사전.items %} |
| <nowiki>{{key}}</nowiki> : <nowiki>{{value}}</nowiki> | | <nowiki>{{key}}</nowiki> : <nowiki>{{value}}</nowiki> |
| | | |
| {% endfor %} | | {% endfor %} |
− | |리스트 안에 담긴 변수들을 각각 꺼내어 사용할 수도 있다. | + | |사전 안에 든 것은 .items를 붙여주어야 한다. |
| + | 리스트 안에 담긴 변수들을 각각 꺼내어 사용할 수도 있다. |
| |} | | |} |
| | | |
178번째 줄: |
183번째 줄: |
| |<nowiki>{{forloop.counter0}}</nowiki> | | |<nowiki>{{forloop.counter0}}</nowiki> |
| |- | | |- |
− | |거꾸로 카운팅해준다. | + | |거꾸로 카운팅해준다. 1까지 세어준다. |
| |<nowiki>{{forloop.revcounter}}</nowiki> | | |<nowiki>{{forloop.revcounter}}</nowiki> |
| |- | | |- |
186번째 줄: |
191번째 줄: |
| | | |
| == 변수 선언 == | | == 변수 선언 == |
| + | 변수를 view로부터 받기도 하지만, 직접 선언할 수도 있다. |
| + | |
| 굳이 탬플릿 내에서 변수를 설정할 필요가 있을까 싶긴 하다; 가능한 데이터는 뷰 내에서 다루어야 프론트 개발자와의 업무분장이 쉬워질 듯한데.. | | 굳이 탬플릿 내에서 변수를 설정할 필요가 있을까 싶긴 하다; 가능한 데이터는 뷰 내에서 다루어야 프론트 개발자와의 업무분장이 쉬워질 듯한데.. |
| {| class="wikitable" | | {| class="wikitable" |
193번째 줄: |
200번째 줄: |
| |- | | |- |
| |{% with 변수='값' %} | | |{% with 변수='값' %} |
| + | {% endwith %} |
| |변수와 값을 설정한다. | | |변수와 값을 설정한다. |
− | |<nowiki>{{변수}}</nowiki> 형태로 기입한다. | + | |태그 사이에서 <nowiki>{{변수}}</nowiki> 형태로 기입한다. |
| |} | | |} |
| | | |
209번째 줄: |
217번째 줄: |
| |} | | |} |
| | | |
| + | === 기타 === |
| + | {| class="wikitable" |
| + | !태그 |
| + | !기능 |
| + | |- |
| + | |{# 내용 #} |
| + | |내용을 주석 처리한다. html주석 안에 탬플릿태그를 넣으면 이조차 데이터로 취급하니, 가끔 쓰일 때가 있다. |
| + | |} |
| | | |
| [[분류:장고 탬플릿]] | | [[분류:장고 탬플릿]] |