* 이 포스팅은 생활코딩 강의를 들으며 내용을 정리한 것이며,
모든 내용은 https://opentutorials.org/ 에서 보실 수 있습니다.*
지금까지 만들었던 웹 어플리케이션은 사이트의 소유자만이 컨텐츠를 만들 수 있었다.
사용자가들이 직접 자신의 컨텐츠를 생산할 수 있게 해보자.
사용자부터 정보를 입력하는 양식(form)을 만들어보자.
우선, 글쓰기 링크를 만들고 그 링크를 클릭하면 글쓰기 페이지로 이동할 수 있게 해보자.
create.py라는 링크를 만든다.
짜잔!
<p> 태그 -> 줄바꿈이 되는 특징
input type="text"를 사용함으로써 사용자가 텍스트를 입력하는 박스를 만들 수 있다.
placeholder="title"이라는 것은 박스 내부에 title이 입력이 되었다가,
무언가를 입력하면 사라진다.
다시 <p> 태그로 본문을 작성할 수 있게.
<textarea> 태그로 여러줄을 입력할 수 있는 박스가 나온다.
rows="4" -> 4줄
textarea의 placeholder은 description으로 넣어주자.
전송 버튼은 <input type="submit">으로 만들 수 있다.
짜잔!
title과 description 에 각각 name="title", name="description"을 넣어줌으로써,
입력한 정보가 name에 해당하는 이름으로 전송되도록 할 수 있다.
이 전체의 form과 관련된 정보를 <form> 태그로 감싸주고,
action=" "을 활용해 어디로 보낼지(process_create.py) 설정해준다.
입력해보자.
제출을 누르면,
title과 description이 포함된 주소로 바뀌는 것을 볼 수 있다.
따라서 form은 url querystring을 만들어준다고 할 수 있다.
그리고 url querystring은 웹 어플리케이션에서 입력 값이 된다.
(title&description)
하지만 글을 쓰거나 할 때, 주소로 query string를 써버리면,
다른 사람들이 이 주소로 들어왔을 때, 글이 써져버리는 문제가 생길 수 있다.
(또는 데이터 삭제)
따라서 사용자가 정보를 서버 쪽으로 전송/삭제/수정하는 경우에는,
query string을 쓰면 안된다.
이럴 때는 get 방식이 아닌 host 방식을 써야한다.
method="post"를 쓰면, 제출을 눌러도 url이 바뀌지 않는다.
검사를 눌러 확인해보면,
사용자가 입력한 데이터가 url이 아닌 다른 방법으로
'은밀하게' 전송된다.
'프로그래머 > Python' 카테고리의 다른 글
Python - 수정구현 | 생활코딩 강의 복습 | 프로그래밍 공부 (0) | 2018.12.28 |
---|---|
Python - 전송한 정보 처리 | 생활코딩 강의 복습 | 프로그래밍 공부 (0) | 2018.12.28 |
Python - 반복문을 이용해 글목록 구현 | 생활코딩 강의 복습 | 프로그래밍 공부 (0) | 2018.12.27 |
Python - 조건문 | 생활코딩 강의 복습 | 프로그래밍 공부 (0) | 2018.12.26 |
Python - CGI | 생활코딩 강의 복습 | 프로그래밍 공부 (0) | 2018.12.26 |