파이썬 웹 서비스 만들기20 5. 계정 관리 페이지 - 5.1. 파일 업로드 기능 사용자는 웹 서비스를 이용하면서 주로 웹 서버에 질의를 보내고(예, 상품명), 응답을 받게된다(예, 상품 목록 페이지). 하지만 자주 사용되지는 않지만 꼭 필요한 기능 중 하나가 웹 서버에 파일을 업로드하는 기능이다. 예를 들면 계정의 프로필 사진을 업데이트하는 것을 들 수 있다. 계정 관리 페이지를 만드는데 필요한 파일 업로드 기능의 전체 흐름에 대해 먼저 살펴보도록 하겠다. 질리도록 봐 왔겠지만, 웹 서비스를 개발할 때의 기본적인 순서는 '모델/폼 → 뷰 → 로직' 순이다. 파일 업로드 기능 구현에 있어서도 다르지 않다. 먼저 파일을 저장할 수 있도록 모델과 폼을 정의하고, 다음으로 파일을 업로드할 수 있는 페이지를 구현한다. 마지막으로 사용자가 파일을 업로드했을 때 서버에 이를(파일을) 저장하는 로.. 2020. 10. 11. 4. 계정 인증(로그인) 기능 - 4.2. 로그인/로그아웃 로그인은 일반적으로 ID와 패스워드를 통해 사용자를 인증하는 과정이다. 로그인 이후에는 쿠키/세션을 이용해서 로그인한 사용자를 식별하게된다. 쿠키/세션이 로그인한 사용자 관리에 어떻게 활용되는지 이전 포스팅 '4.1. 쿠키와 세션'에서 살펴보았다. 계정 인증은 로그인, 쿠키/세션 관리 두 단계로 이루어져있다. 먼저 로그인 과정은 사용자가 입력한 ID와 패스워드가 서버에 저장되어 있는 ID, 패스워드와 일치하는지 검증하는 과정이다. 인증에 성공한다면 사용자에게 쿠키를 발행하게된다. 계정 인증의 이 두 단계를 웹 서비스에 구현해보자. 새 프로젝트를 위한 디렉토리를 하나 만들고 이전 프로젝트의 하위 디렉토리와 파일들을 복사해서 가져온다. 여기서는 새 프로젝트 이름을 03_login으로 정했다. 먼저 로그인 진.. 2020. 10. 10. 4. 계정 인증(로그인) 기능 - 4.1. 쿠키와 세션 지난 포스팅 3.1 ~ 3.3에 걸쳐 계정(account)을 생성하는 기능을 웹 서비스 안에 구현해보았다. 계정을 생성하는 제일의 목적은 서비스에 로그인하여 웹 서비스로부터 차별화된 서비스를 제공받는 것이다. 이제 로그인/로그아웃 기능, 좀 더 일반적인 표현으로 계정 인증(account authentication: 접속한 사용자가 인증을 통해 권한을 부여받는다는 의미) 기능을 만들어보자. 계정 인증 기능을 구현하기 전에 계정 인증에 필요한 내용을 몇 가지 먼저 살펴보는 기회를 갖자. 웹 서비스를 서버와 클라이언트(사용자) 관점에서 바라보면 웹 서비스는 사용자의 페이지 요청(HTTP request)에 대해 서버가 응답하는(HTTP response) 구조로 되어있다. 즉, 사용자가 웹 서비스의 페이지를 돌아.. 2020. 10. 5. 3. 사용자 등록 기능 - 3.3. 계정 생성 이전 두 포스팅들에서 입력받을 계정 정보를 정의하고(포스팅 3.1), 계정 생성을 위한 정보입력 페이지(포스팅 3.2)를 만들었다. 이제 실제 데이터를 입력받고 계정을 생성하는 로직을 만들어보자. 계정을 생성하는 행위를 기술적으로 표현하면 '입력받은 계정 정보를 서버에 저장하는 것'이라고 할 수 있다. 정보는 서버의 데이터베이스에 저장된다. 실제 코드로 어떻게 구현되는지 살펴보자. 데이터 입력 페이지는 사용자 정보와 관련된 뷰(view)이므로 그 처리를 user 패키지에 포함시킨다. 아래와 같이 user 패키지에 routes.py 라는 이름으로 파일을 생성하고 사용자가 계정 생성 페이지에 접속 했을때, 그리고 데이터를 입력하고 '제출(submit)'버튼을 클릭했을 때 해 주어야 하는 일들을 작성해보자. .. 2020. 9. 30. 이전 1 2 3 4 5 다음