python 7

[Python] pool_recycle + wait_timeout

Daemon 이 서버의 뒷편에서 계속 돌아가는 경우 SQLAlchemy에서는 쿼리요청이 없더라도 일정주기로 쿼리문을 날려줘서 갱신을 해줘야 connection이 끊기지 않는다. 1. db.py 파일 작성 # pool_recycle은 해당 시간 이후에 connection을 재사용하겠다는 뜻 pool_recycle = 60 * 60 * 2 # 7200초 이후에 connection 재사용 # DB connection이 끊기지 않게 쿼리문 날림 (아래 보기) session.execute('SELECT now()').scalar() ※ 주의할점 : 서버 배포후에 확인 해봐야 할것 : 서버쪽의 vi /etc/my.cnf의 wait_timeout 의 초(seconds)가 pool_recycle 보다 작으면 'Lost..

Python & Django 2021.09.01

[Error] UnicodeDecodeError

※ 실행파일을 실행 시킬 때 아래와 같은 에러가 발생할 수 있다! UnicodeDecodeError: 'ascii' codec can't decode byte 0xec in position 0: ordinal not in range(128) 1. 해당 파일이 사용하고 있는 python 버전의 site-packages 디렉토리를 찾는다. # 모든 site-packages 디렉토리를 검색해줌 find / -name site-packages 2. 해당 디렉토리 안에 sitecustomize.py 파일 추가 후 아래 내용 작성 import sys sys.setdefaultencoding("utf-8")

Server(설정 등) 2021.09.01

[Django] Django Kakao Login API

- 카카오 로그인 진행 과정 카카오 개발자 애플리케이션 등록 + 카카오 로그인 활성화 아래 링크에서 내 애플리케이션을 하나 생성하면 앱 키를 생성 받을 수 있음 앱 키 생성 확인 후 카카오 로그인 활성화 + Redirect URI를 추가해 줘야함 링크 : https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com Code class KakaoSignInView(View): """ 인증 코드 받아오기 """ def get(self, request): current_site = get_current_site..

Python & Django 2021.08.25

[Django] Django 비밀번호 암호화(Argon2 이용)

1. 라이브러리 설치 : 차세대 해싱 알고리즘인 Argon2를 이용하여 암호화를 진행 할 예정 pip install argon2-cffi 2. 비밀번호 암호화 # PasswordHasher import 해줘야함 from argon2 import PasswordHasher # 해시 함수 사용 user = User( user_id = user_id, user_pw = PasswordHasher().hash(user_pw), ) user.save() 3. 비밀번호 일치 확인 # 일치하면 True, 다르면 VerifyMismatchError -> 예외처리 필수 PasswordHasher().verify(암호화된 비밀번호, 입력받은 비밀번호) ※ 이때 비밀번호가 일치하지 않으면 VerifyMismatchError..

Python & Django 2021.08.25

[Django] Django Setting

Python의 많은 프레임 워크 중에서 Flask와 Pyramid 가 아닌 Django를 사용 하는 이유는?? Flask와 pyramid는 아주 가벼운 프레임 워크로 미니멀하게 꼭 필요한 정도의 기능만 제공한다. 간단한 것들은 Django 보다 빨리 만들수는 있지만 규모가 커질수록 많은 기능들을 차곡차곡 구현해야 하기 때문에 오히려 더 오래걸린다. Django는 그에 비해 거대한 프레임 워크로 많은 기능(관리자 페이지, 사용자 인증 등)을 포함하고 있어 개발 할 때 손이 좀 덜 간다. Django는 많은 기능이 필요로 하는 프로젝트를 진행할때 적합하다. 적은 기능들을 빠르게 구현하는건 Flask, Pyramid 쪽이 나을 수도 있음. tool 은 py..

Python & Django 2021.08.25