polls 선택 page만들기
2021. 7. 23. 03:07ㆍpython/Django
728x90
<h1> {{question.question_text}} <h1>
view함수에 의해서 넘어온 질문객체가 넘어와 질문이 화면에 보인다
-양식만들기
<form action="서버쪽 프로그램을 호출하기 위한 url"
method="POST"> {% csrf_token %}<form>
-form tag를 이용할때는 거의 예외없이 method post이용
전달되야되는 data가 많아질수 있기 때문에 data에 제약없는 post사용
-template 할때 <form>을 이용하면 악의적인 공격에 방어하는 보안루틴
{% csrf_token %}이 무조건 있어야한다
-질문 리스트 만들기
{% for choice in question.choice_set.all %}
{endfor}
-question table안에 foriegn key로 (set.all) 연결된 choice의 집합항목들 다가져와
-당연히 admin page에서 choice항목을 질문별로 추가해야한다
-for문으로 객체들을 나열한다
-vote 버튼만들기
<input type="submit" value="votes!!!">
submit은 클릭하면 자동으로 form tag내에서 사용자가 입력한 내용을 server에게 전달하는 버튼
value는 내용
submit:제출하다 -data전송을 위해
value : 들어갈문장
- 목록만들기
<input type="radio" name="myChoice"
value="aaa" id="choice1">
<label for="choice1">서울</label>
<input type="radio" name="myChoice"
value="bbb" id="choice2">
<label for="choice2">대구</label>
<input type="radio" name="myChoice"
value="ccc" id="choice3">
<label for="choice3">부산</label>
-input type="radio"는 동그란 체크박스
-name="아무거나" 를 주지 않으면 그룹으로 묶이지 않아 radio버튼이 중복체크 된다
- label : 문자를 클릭해도 radiobox가 클릭된다
- id & label for 가 같은이여야 연결이 된다
- value : -사용자가 선택한 값이 server쪽으로 data를 넘기기 위해 사용,
- value는 -이 항목 선택했구나.. 를 알리기 위해 pk인 id사용
-data를 넘길때 dic형식으로 넘어가는데 이때 key값은 name , val = 값
-------------------------!!!!!
목록을 만든걸 보면 반복문을 돌릴수 있는데
내용이 변경되는 부분과 아닌부분이 있다 이럴때
변경되는 내용에 {{ forloop.counter }}를 입력해서 반복문을 돌리면
숫자가 1개씩 증가한다
결과
<h1>{{ question.question_text }}</h1>
<form action="서버쪽 프로그램을 호출하기 위한 URL"
method="POST">
{% for choice in question.choice_set.all %}
<input type="radio" name="myChoice"
id="choice{{ forloop.counter }}" value="{{ choice.id }}">
<label for="choice{{ forloop.counter }}">
{{ choice.choice_text }}
</label>
<br>
{% endfor %}
<input type="submit" value="Votes!!!">
'python > Django' 카테고리의 다른 글
data 삭제 후 만들기 (0) | 2021.07.26 |
---|---|
polls 결과page만들기 (0) | 2021.07.26 |
polls 질문page 만들기 (0) | 2021.07.23 |
url cof , view (0) | 2021.07.22 |
admin page에 model(data) 등록하기 (0) | 2021.07.21 |