**본 포스팅은 유튜브 명준MJ님의 python django tutorial 강의를 참고하여 작성하였습니다.**
https://docs.djangoproject.com/ko/4.0/intro/tutorial04/
간단한 폼 쓰기
polls/templates/polls/detail.html
for문으로 list를 만들었었음.
이번에는 서버쪽으로 데이터를 보내기 위해 form 태그와 input 태그 사용.
사용자가 submit type 의 input 태그를 누르면
해당 URL('polls:vote') 로 데이터(value 값)가 전달되고,
해당 URL 에 걸려있는 views(views.vote) 에서 데이터를 처리함.
{% csrf_token %} 는 사이트간 위조요청 막기위해 모든 form 태그 안에 넣어줌.
polls/views.py
question_id 넘겨받고 question 조회.
question 에 대해서 외래키를 갖는 choice 들을 가져옴.
조회했을 때 데이터가 없으면 예외발생(except) -> detail 페이지로 응답.
데이터가 있는 경우(else)에는 표를 1 올려주고 저장.
설문을 하고난 뒤에는, vote() 뷰는 설문조사 결과 페이지로 리다이렉트
-> result URL에서 result 뷰를 호출 -> question 조회
-> result 템플릿이 결과페이지로 보여짐, question 데이터가 같이 넘어감
polls/templates/polls/results.html
* pluralize 키워드 : votes 가 단수인 경우에는 단수처리, 복수인 경우에는 복수처리
제너릭 뷰 사용하기: 간단해짐
(클래스 기반 뷰)
as_view() 함수를 호출하여 뷰를 호출함.
polls/urls.py
polls/views.py
'Study > Django' 카테고리의 다른 글
[장고 튜토리얼] #5~6. test, css, static file (0) | 2022.05.08 |
---|---|
[장고 튜토리얼] #3. view (0) | 2022.04.27 |
[장고 튜토리얼] #2. git, database, admin (0) | 2022.04.26 |
[장고 튜토리얼] #0~1. quick-install, Django app (4) | 2022.04.26 |
댓글