SBA - 장고 3.1

장고 3.1

SBA - 장고 3.1 장고 3.1
본 토픽은 현재 준비중입니다. 공동공부에 참여하시면 완성 되었을 때 알려드립니다.

템플릿 시스템 사용하기

템플릿 시스템 사용하기

투표 어플리케이션의 `detail()` 뷰로 되돌아가 봅시다. context 변수 `question`이 주어졌을때, polls/detail.html이라는 템플릿이 어떻게 보이는지 봅시다.

Back to `detail()` view for our poll application. Given the contet variable `question`, here's what the `polls/detail.html` template might look like:

`polls/templates/polls/detail.html`

{% if q %}
{% for qq in q %}
<h1>{{ qq.question_text }}</h1>
<ul>
    {% for choice in qq.choice_set.all %}
        <li>{{ choice.choice_text }}</li>
    {% endfor %}
</ul>
{% endfor %}

{% endif %}

템플릿 시스템은 변수의 속성에 접근하기 위해 점-탐색(dot-lookup) 문법을 사용합니다. 예제의 `{{ question.question_text }}` 구문을 보면, Django는 먼저 `question` 객체에 대해 사전형으로 탐색합니다. 탐색에 실패하게 되면 속성값으로 탐색합니다. (이 예에서는 속성값에서 탐색이 완료됩니다만) 만약 속성 탐색에도 실패한다면 리스트의 인덱스 탐색을 시도하게 됩니다.

결과화면

`{% for %}` 반복 구문에서 메소드 호출이 일어납니다. `question.choice_set.all`은 Python에서 `question.choice_set.all()` 코드로 해석되는데, 이때 반환된 `Choice` 객체의 반복자는 `{% for %}`에서 사용하기 적당합니다. 템플릿에 대한 더 많은 정보는 [템플릿 지침서]를 참고하세요.

댓글

댓글 본문
버전 관리
happydeveloper
현재 버전
선택 버전
graphittie 자세히 보기