점프 투 장고를 참고하여 학습,제작하였습니다.
1.단어 목록 조회 구현
english_vo(영어) 순으로 정렬된 단어 목록을 얻었다.
render함수는 파이썬 데이터를 템플릿을 적용하여 HTML로 반환하는 함수다.
views.py를 수정
1-1.템플릿 디텍터리 지정
setting.py에서 templates의 딕테터리를 지정하준다.
settings.py 수정
1-2 템플릿 파일 생성
mkdir templates
templates 폴더를 생성해준다.
voca_list.html 파일을 생성해준다.
voca_list.html 작성
1-3 템플릿 태그
1-3-1 분기
{% if 조건문1 %}
{% elif 조건문2 %}
{% else %}
{% endif %}
1-3-2 반복
{% for item in list %}
<p>순서: {{ forloop.counter }} </p>
<p>{{ item }}</p>
{% endfor %}
forloop 객체의 속성들 | |
forloop.counter0 | 루프내의 순서로 0부터 표시 |
forloop.first | 루프의 첫번째 순서인 경우 True |
forloop.last | 루프의 마지막 순서인 경우 True |
forloop.counter | 루프내의 순서로 1부터 표시 |
1-3-3 객체출력
{{ 객체 }}
{{ 객체.속성 }}
결과
http://localhost:8000/app/ 에 단어 리스트를 볼수있다.
2.단어 누르면 뜻나오게하기
urls.py에서 url 목록에 app/단어 번호/ 를 추가한다.
views.py에서 detail 을 정의하여 단어 번호에 따른 voca_detail.html을 render함수로 반환하게 만든다.
templates에 voca_detail.html 생성
voca_detail.html에 제목은 영어,내용은 한국어 나오게 html을 작성한다
결과
3.오류페이지
존재하지않는 단어 번호로 사이트에 들어가보자
DoesNotExist 오류 발생(오류코드 500)
3-1오류 404로 출력하게하기
서버가 요청한 페이지(Resource)를 찾을 수 없음은 404오류가 적당하므로 수정하자
detail 함수를 수정, 기본키를 voca_id로 사용
404에러로 뜬다.
반응형
'BackEnd > Django' 카테고리의 다른 글
[Django] URL 별칭 (1) | 2024.05.02 |
---|---|
[Django] 장고 관리자 (0) | 2024.05.02 |
[Django] 모델 사용하기 (0) | 2024.05.01 |