2일차 - 로그인/회원가입 틀 + 기능 구현
본문 바로가기
항해 중/1주차 나알너노

2일차 - 로그인/회원가입 틀 + 기능 구현

by 은돌1113 2021. 11. 2.

오늘 할 일

 

로그인/회원가입 틀

: 기능을 구현하기 전에 로그인(메인 페이지)와 회원가입 HTML 틀을 만들었다.

 

회원가입 기능 구현(HTML+JS+Python+MongoDB)

: 정규식 검사, 중복 검사, 비밀번호 확인 등등을 만들었고 회원가입 버튼을 누르면 ajax를 통해서 Python으로 이동하여 db에 값을 insert 하도록 구현했다. 비밀번호는 Hashlib를 사용하여 서버 관리자도 볼 수 없도록 설정했다.


회원가입 기능을 구현하면서 발생 했던 오류사항 1

질문 처럼 로고를 눌렀을 때는 메인 페이지로 이동 할 수 있는데

메인 페이지에서 회원가입 버튼을 누르면 Not Found 에러 페이지가 띄워졌었다.

팀원들께 물어본 결과 해결 방법을 찾을 수 있었다.

## HTML을 주는 부분을 꼭 해야 한다.
@app.route('/join')
def join():
    return render_template('join.html')

python 코드에 이걸 안썼더니 회원가입 사이트로 넘어가지 못했던 것이다.


회원가입 기능을 구현하면서 발생 했던 오류사항 2

닉네임 중복 검사 코드를 진행 중인데요 코드에서는 reload 되는 부분이 하나도 없는 데 사용 할 수 있는 닉네임이라는 문구가 나와도 페이지가 reload 됩니다.라고 질문을 올렸는데

이것도 팀원분들께 여쭤보니 form 태그 안에 버튼을 생성하면 onclick으로 어떤 함수를 연결해도 값을 가지고 서버로 넘어가기 때문에 새로고침이 됐던 것이다. form 태그를 div 태그로 바꿨더니 문제 없이 동작 되었다.


로그인 기능 구현


로그인 기능을 구현하면서 발생 했던 오류사항 1

원인 : 최근에 pyjwt 라이브러리가 대대적인 업데이트를 겪으면서 코드스니펫의 코드가 작동읗 하지 않는 경우에 발생하는 오류이다. pyjwt의 버전을 1.7.1 이하로 낮춰서 재설정 하면 된다.

 

재설정 하는 법

에러에 대한 설명

: token

token = jwt.encode(payload, SECRET_KEY, algorithm='HS256').decode('utf-8')

기존 버전에서는 jwt.encode() 함수의 리턴값이 '바이트 문자열'이라는 자료형이기 때문에 뒤에 .decode('utf-8')을 붙여 일반 문자열로 바꿔 주었는데 2.0.0 버전부터는 이 함수의 리턴값이 일반 문자열이기 때문에 여기에 또 .decode('utf-8')를 붙여주게 되면 문자열에는 이런 메소드가 없으므로 에러가 나게 된다.


로그인 기능을 구현하면서 발생 했던 오류사항 2

pyjwt 버전을 바꿔준 후 이런 오류가 발생해서 아래 사이트를 참고 해보니 html head 태그에 아래 코드를 넣어주면 동작한다고 해서 넣어보았다. 그랬더니 말끔하게 해결 되었다.

 

오류 메세지 해결 참고한 사이트

https://icaynia.tistory.com/85

 

Javascript Jquery $.cookie가 불러와지지 않을때

1. $.cookie is not a function html head 태그에 아래 코드 넣어주면 동작한다. 2. $.cookie("쿠키 이름") 에서 값이 undefined 일때 쿠키가 없거나 쿠키가 http only 로 되어있을 경우 undefined이다. Node js..

icaynia.tistory.com


- required 속성 -

input 태그를 필수값으로 설정 할 수 있는 방법은 없을까를 고민하다가 알게 되었다.

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=neo_start&logNo=220302881127 

 

INPUT에 필수값 확인 하는 required 속성 사용법.

html 화면 개발을 하다보면 필수갑 입력을 체크를 해야하죠. 그때 보통 사용하는 방법이 script에서 value ...

blog.naver.com

 

 

댓글