코딩공부/Python Django 71

django secret key를 분실 or 노출될 경우

django의 secret key는 변수명 그대로 비밀스럽게 유지해야 한다. https://integer-ji.tistory.com/180 django secret key 분리, secrets.json 생성 git으로 프로젝트를 진행한다면 ( 2 ) - django secret key 분리하기 보고 배운 곳 : https://inma.tistory.com/83 .gitignore 설정하기 : https://integer-ji.tistory.com/179 해당 글을 보았다면 모두.. integer-ji.tistory.com 하지만 이렇게 따로 관리를 하다가 불의의 사고로 key를 분실하게 되었다.. django secret key를 분실 or 노출될 경우 key 변경 법 secret key를 변경 시에는 ..

숫자야구 게임 만들기

한동안 숫자야구 게임에 빠져있었다. 점심시간에 혹은 머리 식힐 겸 친구와 하는 숫자야구 게임은 정말 재미있었다. 이 재미가 식기 전에 직접 숫자야구 게임을 만들어 보는 건 어떨까?라는 생각을 하였다. 매번 메모를 하느라 지저분해진 공책 수기로 숫자를 맞추느라 숫자가 안맞을 때도 많았다 이를 해결해 보자! 숫자야구 하는법 먼저 로직이다. def beatnum(request, game_id, choicenum_id): list_choice = [] list_beat = [] strike = 0 ball = 0 if request.method =='POST': beat = get_object_or_404(ChoiceNum, pk=choicenum_id) str_choice = str(beat) str_choi..

python selenium을 이용한 크롤링

왜 ? Selenium을 사용하는가 github에서 그날 커밋한 data-count가 0일 경우 알람을 보내주는 기능을 개발하는 중 일반적으로 requests를 사용해 데이터의 짝이 안맞는 현상을 발견 원인과 해결 방법 js 렌더링을 통해 데이터를 가져올 경우 request에 값이 안담겨 있다는 정보를 확인 후 Selenium을 통해 chrome을 직접 열어 데이터를 가져오면 되지 않을까? 라는 생각에 Selenium을 사용하게 되었습니다. 셀레니움 및 웹드라이버 설치 pip install selenium pip를 이용해 selenium을 설치하여 줍니다. (저는 이미 설치하였습니다.) 이제 해당 사이트 sites.google.com/a/chromium.org/chromedriver/downloads에서..

python schedule 라이브러리 사용하기

Schedule란? Schedule란 특정한 작업, 함수 수행을 주기적으로 실행하기 위해 사용하는 함수입니다. 예를들어 월,화,수,목,금 오전 7시에 알람을 울리게 설정한다면 평일 오전 7시에는 알람이 울리겠죠? 이것이 스케줄려입니다. 해당 글은 lemontia.tistory.com/508 의 lemontia님 글을 참고하여 작성하였습니다. python에서의 Schedule 사용 pip install schedule pip를 이용해 schedule을 설치하여 줍니다. schedule를 작성할 파일을 만들어줍니다. 만들며 주의사항 ==> integer-ji.tistory.com/318 schedule_test.py 파일 생성 from schedule import * import schedule import..

python으로 크롤링(crawling) 하기

python으로 크롤링(crawling) 하기 크롤링이란 HTML에서 원하는 정보를 원하는 형식으로 가공하여 가져오는 것을 말합니다. python으로 크롤링을 하는 이유는 python의 라이브러리를 통하여 쉽고 간단하게 데이터를 가져올 수 있기 때문에 선택하였습니다. 하지만 news.bizwatch.co.kr/article/mobile/2017/09/27/0023 해당 기사를 확인해 보면 크롤링은 불법이라고 판단된다고 합니다. 해당 게시글은 학습 목적으로 사용했으며 상업적 이용은 법적 처벌을 받을수 있습니다. 1. py파일 준비 vscode를 사용하여 적당한 폴더에 touch 명령어를 통해 crawling.py 파일을 생성하여 줍니다. 2. 크롤링을 위한 pip 설치 # pip install bs4 # ..

os.path.isfile 함수를 이용한 secrets.json 관리하기

글은 수정 예정입니다. (막적어둔상태) 기존의 소스를 보면 heroku에 배포를 하면 secrets.json파일이 없어 에러가 납니다. 그렇기 때문에 heroku의 환경변수값을 설정하여 환경변수의 키를 가져오는데 이렇게 하면 또 local 환경에서는 작동을 하지 않아 매번 주석을 풀고 배포하고 주석처리를 하고 배포하고 비효율적인 소스 관리를 해오고 있었습니다. 그러다 이제 aws ec2에 배포에 까지 영향을 끼쳐 해결해 보려고 합니다. os.path.isfile 함수는 파일의 존재 여부를 확인할수 있는 함수입니다. 이 함수를 사용하여 secrets.json파일이 있다면 True가 나올것이고 만약 존재하지 않다면 False가 나올 것입니다. 이를 활용하면 secrets.json 파일이 있을경우 json 파..

django checkbox 값 넘기기

django를 사용하며 html에서 views.py로 값을 넘기는 방법은 여러 가지가 있습니다. 1. form을 이용해 request값을 넘기기 2. ajax를 통하여 값을 넘기기 3. django의 forms.py를 이용해 views.py로 넘기기 이번에는 checkbox의 value값을 넘기려다 생긴 문제를 해결해 보겠습니다. checkbox의 값을 ajax를 통해 변수값으로 받거나 forms을 사용하면 쉽게 해결할 수 있습니다. 하지만 진행중인 프로젝트의 구조를 갑자기 바꾸기는 어려울 것입니다. bootstrap의 checkbox를 가져와 사용하고 있습니다. 체크가 되면 value값을 1로 넘기지만 만약 체크가 안되어있다면?? MultiValueDictKeyError 에러가 나옵니다... 값이 없기..

django password reset - PasswordResetView 커스터마이징

들어가기에 앞서 비밀번호를 초기화시키기 위해 정보를 찾아보며 종합해 문서화하였습니다. 해당 작업의 목적은 django에서 제공하는 class를 분석하고 Overriding을 시도하여 자신의 소스로 만드는 것입니다. 모든 작업은 https://gaebyeokja.tistory.com/10 해당 블로그에서 참고하여 진행하였으며 많은 도움을 받았습니다. 기본 설정 및 SMTP 세팅은 다음 게시물을 참고하여 주세요. SMTP gmail 설정 및 테스트 : https://integer-ji.tistory.com/274?category=745989 로그인, 회원가입 : https://integer-ji.tistory.com/268?category=793135 django password reset 1 https:/..

django password reset (2) - class PasswordReset Overriding

들어가기에 앞서 비밀번호를 초기화시키기 위해 정보를 찾아보며 종합해 문서화하였습니다. 해당 작업의 목적은 django에서 제공하는 class를 분석하고 Overriding을 시도하여 자신의 소스로 만드는 것입니다. 모든 작업은 https://gaebyeokja.tistory.com/10 해당 블로그에서 참고하여 진행하였으며 많은 도움을 받았습니다. 기본 설정 및 SMTP 세팅은 다음 게시물을 참고하여 주세요. SMTP gmail 설정 및 테스트 : https://integer-ji.tistory.com/274?category=745989 로그인, 회원가입 : https://integer-ji.tistory.com/268?category=793135 django password reset 1 https:/..

django password reset (1) - class PasswordReset 사용하기

들어가기에 앞서 비밀번호를 초기화시키기 위해 정보를 찾아보며 종합해 문서화하였습니다. 해당 작업의 목적은 django에서 제공하는 class를 분석하고 Overriding을 시도하여 자신의 소스로 만드는 것입니다. 모든 작업은 https://gaebyeokja.tistory.com/10 해당 블로그에서 참고하여 진행하였으며 많은 도움을 받았습니다. 기본 설정 및 SMTP 세팅은 다음 게시물을 참고하여 주세요. SMTP gmail 설정 및 테스트 : https://integer-ji.tistory.com/274?category=745989 로그인, 회원가입 : https://integer-ji.tistory.com/268?category=793135 User 모델의 email 정보 추가 로그인, 회원가입을..