BASE_DIR
settings.py 의 TEMPLATES 밑의 DIRS에 BASE_DIR 지정해주기
동일한 이름의 디렉토리 생성해주기
이제 이 디렉토리에 HTML 파일 만들기
<!DOCTYPE html>
<head>
</head>
<body>
{% if question_list %}
<ul>
{% for question in question_list %}
<li>
<a href="/pybo/{{ question.id }}/">{{ question.subject}}</a>
</li>
{% endfor %}
</ul>
{% else %}
<p>
질문이 없습니다.
</p>
{% endif %}
</body>
</html>
<aside> 🥕 for문을 닫을때는 endfor / if문을 닫을때는 endif
</aside>
forloop
<aside> 🥕 {% for item in list %} <p> 순서 : {{ forloop.counter }} </p> //{{ }} 안에 있는거를 객체로 사용한다는 뜻 <p> {{ item }} </p> {% endfor %}
</aside>
forloop 속성 | 설명 |
---|---|
forloop.counter | 루프내의 순서로 1부터 표시 |
forloop.counter0 | 루프내의 순서로 0부터 표시 |
forloop.first | 루프의 첫번째 순서인 경우 True |
forloop.last | 루프의 마지막 순서인 경우 True |
근데 질문들을 클릭하면 실행이 안된다! → url 뒤에 /pybo/질문인덱스 숫자 → 이 숫자 url을 처리 못해서!
views.detail 함수 만들어주기
def detail(request, question_id):
question = Question.objects.get(id=question_id)
context = {'question' : question}
return render(request, 'pybo/question_detail.html', context)
<aside> 🥕 **render(request, ‘pybo/question_detail.html’, context)
request 넘겨줄거야, pybo/question_detail.html한테! context 포장해서 같이 줄거야**
</aside>
<aside> 🥕 >> 결과
<aside> 🥕 127.0.0.1/pybo config 아래의 urls.py → pybo 아래의 urls.py → views.py index → question_list.html → pybo 아래의 urls.py 가 새로운 url 생성해서 → views.py가 id 받아서 처리 → question_detail.html
</aside>
</aside>