시작하기 전 소개해야 할 기능과 개념에 대해 소개가 필요하다.
- redirect 와 forward
- json
- jinja2
redirect 와 forward
참고 : https://doublesprogramming.tistory.com/63
jsp/servlet 과 Flask에서 redirect 와 forward의 개념은 큰 차이가 없다
(애초에 둘 다 웹 서버에서 페이지를 운용하는 방법이기도 하다)
redirect
- 사용자가 주체가 되어 각각 개별적인 요청을 진행하는 방식
- template1 에서 form 태그로 값을 받는다고 했을 때, 이때의 데이터는 template2 에서 사용될 수 없다.(유지 불가)
- 사용자의 관점으로는 1회 요청, 1회 응답이므로 페이지의 요청 횟수에 대한 확인 불가
- template1 에서의 값은 template2에서의 사용이 가능(데이터 유지)
정리
값을 입력 받는 페이지에서 보여주는 페이지로의 이동의 경우 redirect 를 사용하는게 좋다.
→ 새로고침 또는 뒤로가기로 인해 forward 로 유지중인 데이터가 중복으로 추가될 수 있다.
로그인, 조회의 경우 forward를 사용하는게 좋다.
→ 데이터가 유지 되므로, 뒤로가기, 새로고침에 의한 변동이 거의 없다.
json(JavaScript Object Notation)
파이썬을 익히고 있다면 자료형 중, Dictionary 에 대해 알고 있을 것이다.
key에 대응되는 value 로 구성된 자료형이고, Java 의 경우 클래스(물론 파이썬도 가능하다)를 응용한다.
JavaScript Object Notation 라는 이름 그대로, "Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷" 이다.
자바스크립트를 이용하여 다른 언어로 작성된 프로그램 등으로 전달하기 위한 객체이다.
파이썬이나 Java 웹 서버에 대해 값을 주고 받을 수 있다.
jinja2
파이썬 웹 템플릿 엔진, flask 와 같은 파이썬 웹 개발에서 html 태그를 조작할 수 있는 기능을 가지고 있다.
변수나 데이터에 대해서는 중괄호를 두 번 덧대어 사용하며 {{ }}
반복문, 조건문에 대해서는 %기호와 중괄호를 사용한다 {% %}
참고자료
댓글
댓글 쓰기