TIL 웹개발 - flask, request, form
먼저 html에서 form 형태를 작성한다. <form action:'/ 보낼 곳' method = '방식'> action : 어디로 보낼지 정하는 것이다. 파이썬에서 라우트하는 곳으로 설정한게 된다. method : form에서 지원하는 방식은 여러가지가 있는데 보통 get과 post를 사용한다. get은 검색처럼 데이터를 요청할때 사용한다. post는 로그인처럼 정보를 서버에 전달할 때 사용한다. <select name="요청 이름" — — —> <option value ="값"></<option> 부트스트랩에서 사용한 셀렉트 방식으로 가위바위보를 골라서 제출하도록 했다. name : 파이썬이 요청 받을때 여기서 정해진 이름으로 데이터를 받는다. value : name이란 데이터의 값을 말한다. 예를 들어, 가위바위보 게임을 한다면 name은 내가 낼 패를 말하고 value는 가위, 바위, 보 처럼 선택한 값을 말한다. <input button type ='submit'> 버튼을 통해 제출되도록 설정했다. 라우트를 사용해 html의 데이터를 받는다. 위에서 본 action 과 methods를 먼저 써준다. methods는 html에서 post만 사용했는데 왜 둘 다 써야할까? 그 이유는, 사용자가 웹페이지를 처음 방문할 때 기본적으로 get 요청을 통해 페이지를 로딩한다. 따라서 get 메서드를 포함하지 않으면 로딩시 오류가 생길수 있다. get을 사용하지 않더라도 꼭 둘 다 써야함을 기억하자! user_choice = request.form['user_choice'] 로 name과 같은 값을 통해 value값을 매개변수(user_choice 앞에 거)에 지정한다. 이렇게 하면 form은 정상적으로 작동한다.
- 서경태