회원가입(email 인증), login(session)의 기능을 추가하였다.
먼저 기본 틀이 될 홈페이지의 형식을 무료 html 템플릿에서 변형시키는 방향으로 진행했다.
해당 Template 출처
먼저 구현해보고 싶었던 것이 로그인이기 때문에 만드려고 생각 하던 중 현재 보고있는 플랫폼인 velog.io의 로그인처럼 창 형식으로 띄우고 싶었다. 와중에 이쁜 것을 구해보고자 codepen에서 dialog 구현중 하나의 코드를 따와 템플릿에 녹여들게 했다.
먼저 겉보기가 중요하다 생각하기 때문에 Login Form 형식도 codepen에서 css정도만 따와서 진행했다.
또한 로그인 폼을 하나만 두어서 id가 없을 경우 자동으로 회원가입을 진행한다.
아래는 로그인 겸 회원가입중이다.
먼저 models.py에 user테이블(email,password)만을 만들어 유저의 로그인만 신경을 쓰고 차차 DB는 조정 될 예정이다. django의 auth 기능중 User 객체를 사용하지 않고 따로 만들었다.
회원가입은 이메일을 입력받아서 Django의 SMTP라는 이메일기능으로 메일인증으로 진행되게 했다.(프로젝트용 gmail계정을 만들었다.)
get방식으로 이메일로 보낸 url의 토큰(랜덤문자열)과 서버에서 파일(jsno)로 만든 문자열이 일치할경우 자동 회원가입 진행(파일의 경우 1시간 동안만 저장)
아래는 메일 발송 후 보여지는 페이지이다.
아래는 공통적인 error 페이지 형식을 만들었다. (index템플릿의 헤더부분을 가져왔다.)