Flask 5

[Flask] 웹페이지 회원가입, 로그인 기능 구현하기(원리) - hashlib, JWT, Token, Cookie

오늘은 파이썬 웹페이지 회원가입 로그인 기능을 만들어보고자 한다. 로그인, 회원가입의 원리는 아래와 같다. [회원가입] 회원정보를 받아온다.(ID, PW, Nickname) 회원정보 비밀번호를 해시함수로 암호화해서 데이터베이스에 저장한다. - hashlib [로그인] 사용자의 아이디, 비밀번호를 받아온다. 사용자의 비빌번호를 똑같이 해시함수 값으로 암호화 한다. (암호화한 값이 저장되어있기 때문에) id, 암호화된 pw로 db내에 해당 유저를 찾는다 해당 유저를 찾으면 JWT 토튼을 만들어 발급한다. (JWT 토큰 안에는 id, 토큰만료시간 등이 담겨있다) JWT 토큰을 암호하한다음 브라우저에 보낸다. 브라우저에서 jwt토큰값을 성공적으로 받았으면, 브라우저 쿠키(Cookie)에 이 토큰값을 저장한다. ..

Flask 2021.10.08

Python : 'str' object has no attribute 'decode' 에러 해결

로그인 회원가입 기능을 flask에서 구현할 때 error code : 'str' object has no attribute 'decode' 가 나왔다. 문제는 jwt 토큰을 암호화하고 utf-8 로 다시 디코딩해줄 때 나왔는데 token = jwt.encode(payload, SECRET_KEY, algorithm='HS256').decode('utf-8') 검색을 해보니 python3에서는 기본이 utf-8이기 때문에 굳이 decode를 사용할 필요가 없다고 합니다. 따라서 decode 함수도 필요 없습니다. 출처: https://knight76.tistory.com/entry/python2 [김용환 블로그(2004-2020)]

Flask 2021.10.08

[Flask] 파이썬 Flask 기능 - "url_for"

Flask 에서는 url을 링크할 때 url_for 이라는 재미난 기능이 있다. url_for 함수 url_for 함수는 url 주소값을 가져 온다. url_for( ) 괄호안에 route 함수 명을 넣으면 해당 route가 가지는 url 주소를 가져온다. 그리고 괄호에 다른 항목은 변수명이다. 변수 명을 넣으면 변수명을 포함한 주소값을 가져온다. ex) redirect (url_for) 을 이용하여 main 함수로 주소를 매핑시켰다. 함수명 뒤에 전달해 줄 값, 또는 매개변수를 적어준다. @app.route('/detail/') def detail(keyword): status_receive = request.args.get("status_give") # API에서 단어 뜻 찾아서 결과 보내기 r = ..

Flask 2021.10.07

[Flask] jinja2 템플릿 언어 (진자 템플릿)

Jinja 란 무엇일까? Jinja는 Django 템플릿을 모델로 한 Python용 템플릿 언어입니다. 따라서 장고는 물론, 파이썬 기반 웹 프레임워크인 플라스크에서도 사용 가능합니다. 템플릿 언어는 어떤 상황에서 쓰이나? 동적 웹 페이지를 구성할 때, Ajax가 아닌, 서버에서 곧바로 웹페이지 로딩과 동시에 변수 값을 html이나 js에 할당하고 싶을 때 템플릿 변수를 사용해서 변수 값을 할당 할 수 있습니다. 또한 템플릿 언어를 사용함으로써, html 문서 상에서 반복문, 조건문 등을 사용할 수 있도록 해줍니다. 템플릿 변수 사용법 app.py def main(): msg = request.args.get("msg") # DB에서 저장된 단어 찾아서 HTML에 나타내기 words = list(db.w..

Flask 2021.10.07

파비콘(Favicon) 생성하기 - 파비콘이란

파비콘(Favicon)이란, 파비콘이란 간단하게 아이콘 입니다! 웹 페이지를 프로그램할 때 계속해서 Favicon errorr가 나올 때가 있는데, 단순하게 웹페이지에서 사용할 아이콘을 찾지못했다고 알려주는 것 입니다. 그럼 파비콘은 어떻게 적용하는 것일 까? 파비콘 만들기 파비콘은 아래의 사이트에서 이미지 파일을 이용하여 만들 수 있습니다. (쏘 간단) https://www.favicon-generator.org/ Favicon & App Icon Generator Upload an image (PNG to ICO, JPG to ICO, GIF to ICO) and convert it to a Windows favicon (.ico) and App Icons. Learn more about favico..

Flask 2021.10.07
반응형