차근차근 순서대로 Django와 python으로 쇼핑몰을 만들어보자.
1. Django 가상환경설정
- 가상환경 virtualenv 설치하기 : pip3 install virtualenv
- 가상환경은 첫 사용시 한번만 설치하면 된다. 이미 설지채놓았다면 2번 가상환경 폴더만들기부터 진행하면된다.
- virtualenv는 일반적으로 글로벌 설치가 되어야하는 유일한 패키지이다. 나머지 패키지들은 가상 환경에 설치하기때문이다.
차근차근 순서대로 Django와 python으로 쇼핑몰을 만들어보자.
어떤 건 import를 쓰고 어떤 건 import하지않고도 사용가능하다.
왜그럴까?
import가 필요없는 경우 : 기본적으로 사용 가능한 클래스인 경우이다.
import를 써야하는 경우 : 기본제공되는 클래스가 아닌 경우 클래스가 있는 패키지를 추가(import)해야함
form페이지를 만들어서 이름과 성별, 나이, 주민번호를 사용자로부터 받은 뒤 그 데이터들을 insertPro.jsp
파일에서 불어와서 MySQL DB에 넣어보는 코드이다.
아래 코드는 form페이지는 생략하고 insertPro.jsp
만 나타낸 코드이다.
총 3단계로 이루어진다.
1 | //import 아래 3가지 추가됨 |
MySQL가서 select * from 테이블명
명령어를 입력하면 row가 추가된 것을 확인할 수 있다.
위의 sql구문작성을 보면 변수, 작은따옴표, 큰따옴표혼재되어있어서 적기에 매우 불편하다
이를 해소하기위한 객체PreparedStatement를 이용하면된다.
기존 Statement보다 처리속도도 빠르고 보안도 좋은 PreparedStatement를 사용해야한다.
아래 두 코드를 비교해보자.
1 | <%@page import="java.sql.Statement"%> |
3단계 stmt 실행시 기능에 따라 쿼리구문을 두가지로 구분할수있다.
pstmt.executeUpdate() : insert, update, delete에 사용
pstmt.executeQuery() : select에 사용
1 | <%@page import="java.sql.PreparedStatement"%> |
이름과 주민번호의 입력값이 DB데이터와 일치하면 회원탈퇴를 진행하는 코드를 만들어보자.
먼저 이름과 주민번호를 사용자로부터 입력받을 수 있는 deleteForm.jsp
파일을 만든다
1 | <fieldset> |
deletePro.jsp
에서 사용자데이터를 불러와서 DB데이터와 확인 후 탈퇴를 처리하는 코드를 작성하면 아래와 같다.
순서는 아래와 같다
1 | <%//1. 변수가져오기 |
이때 두가지 방법이 있다.
pstmt.executeUpdate();
는 return값이 int이므로 int형 변수에 넣은 뒤 if조건문을 통해 진행여부를 html페이지에서 보여줄 수 있다.
사용자입력값이 DB데이터와 일치하면
실행완료(수정완료) : 1
출력정상적으로 탈퇴되었습니다
라는 문구 출력된다.사용자입력값이 DB데이터와 불일치하면
실행완료(수정실패) : 0
출력탈퇴실패
문구 출력된다.1 | <% |
pstmt.executeUpdate();
는 return값이 int이므로 int형 변수에 넣은 뒤 if조건문을 통해 진행여부를 html페이지에서 보여줄 수 있다.
사용자입력값이 DB데이터와 일치하는지 select로 확인후 일치하면
사용자입력값이 DB데이터와 일치하는지 select로 확인후 불일치하면
DB에서 delete은 매우 신중한 작업이다.
따라서 정확한 데이터를 찾아 정확하게 처리해야하기때문에 전자보단 후자를 사용해야한다.
1 | <% //3. sql작성 & pstmt객체생성 |