Python (26) 썸네일형 리스트형 [Django] honeypot은 뭐야? honeypot은 비정상적인 접근을 탐지하기 위해 의도적으로 설치해 둔 시스템을 의미합니다. 따라서 django-honeypot은 누군가 진짜 admin 사이트가 아닌 개발자가 설정해놓은 admin 사이트에 접근을 시도하였을 경우 해당 로그인 기록을 저장하는 기능을 합니다. 다음은 honeypot 설치 코드입니다. pip install django-admin-honeypot 설치가 완료되면 settings.py에서 INSTALLED_APPS에 'admin_honeypot'을 추가해줍니다. INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions'.. [Django] decouple은 뭐야? github와 함께 django 프로젝트를 진행할 때 SECRET_KEY, DEBUG 등 따로 관리해야 할 정보들이 있습니다. 이때 사용하기 좋은 패키지가 바로 decouple입니다. 다음은 decouple 설치 명령어입니다. pip install python-decouple 설치가 완료되면 프로젝트 안에 . env 또는 settings.ini 파일을 생성해줍니다. 이때 .env 파일 설정이 간단하기 때문에 해당 파일을 중심으로 설명하겠습니다. settings.ini 설정은 다음의 링크를 참고해주시기 바랍니다. 다음은 예시 파일입니다. SECRET_KEY=asd88e2dq#D21d!9qfsaD@!($@das DEBUG=True EMAIL_HOST=smtp.gmail.com EMAIL_POST=587 EM.. [Django] pagination은 뭐야? pagination은 django 프로젝트 진행에 있어 이전, 다음과 같이 오브젝트를 나누어 보여주어야 할 때 사용하기 유용합니다. 다음은 Paginator 패키지를 가져오는 코드와 테스트 데이터입니다. 코드 설명에 있는 # 뒷부분은 모두 코드를 실행시킬 때 출력되는 결과를 적어놓은 것입니다. from django.core.paginator import Paginator objects = ['item1', 'item2', 'item3', 'item4', 'item5', 'item6', 'item7', 'item8'] 테스트 데이터는 총 8개로 이뤄져있습니다. 8개의 데이터를 4개씩 나누어서 예제를 진행하겠습니다. 코드는 다음과 같습니다. page = Paginator(objects, 4) Paginato.. [Django] smtpauthenticationerror 해결 django를 사용하여 회원가입 시 회원 활성화를 위해 이메일을 통해 인증을 받는 코드를 작성하였는데 아래와 같은 오류를 발생하였습니다. 오류가 발생하는 이유를 찾아보니 코드보다는 구글의 보안 정책 때문이었습니다. 자세한 사항은 다음의 링크를 참고해주세요. 따라서 https://myaccount.google.com/lesssecureapps에 접속하여 메일을 보내는 주체가 되는 아이디의 보안 수준이 낮은 앱 허용을 사용함으로 바꿔주는 것으로 해결하였습니다. 다음은 위 링크 접속 화면입니다. 다음은 django의 settings.py에서 설정한 smtp에 대한 정보들입니다. EMAIL_HOST_USER, EMAIL_HOST_PASSWORD는 보안상의 이유로 json 파일에 따로 저장하여 관리하였습니다. #.. [Django] 프로젝트 설정 django 프로젝트를 시작할 때 사용하는 명령어들에 대해서 알아보겠습니다. python -m venv 위의 코드는 가상 환경을 만드는 코드입니다. 가상 환경은 서로 다른 프로젝트가 각각의 외부 모듈에 의해 영향을 받지 않도록 해줍니다. source /Scripts/activate # window의 경우 source /bin/activate # mac이나 linux 경우 설명에 작성한 것과 마찬가지고 Scripts가 들어가는 코드 라인은 window를 사용자에 한해 사용 가능하고, bin이 들어가는 코드 라인은 mac 또는 linux를 사용하는 사용자에 한해 사용 가능합니다. 해당 코드는 앞서 생성한 가상 환경에 접속하는 코드로 코드를 실행시키면 command 부분의 앞에 가상 환경의 이름이 붙여지는 것.. [python] 유튜브 API를 사용하여 검색 결과 가져오기 (2) [python] 유튜브 API를 사용하여 검색 결과 가져오기 (1)과 내용이 이어줍니다. 이전에 작성한 코드에서 더 나아가 flask와 ngrok을 사용하여 API로 배포 및 사용하는 방법에 대해서 알아보겠습니다. from flask import Flask, request, Response from flask_ngrok import run_with_ngrok import json 필요한 패키지들을 가져와줍니다. app = Flask(__name__) @app.route('/') def just_started(): return "just started" @app.route('/video_list', methods=['GET', 'POST']) def get_video_list(): developer_key.. [python] 유튜브 API를 사용하여 검색 결과 가져오기 (1) 유튜브 API를 사용하여 원하는 검색 결과에 따른 결과를 json 형태로 반환해주는 프로그램을 만들어보겠습니다. 최종적으로 ngrok을 사용하여 API 요청이 가능하게 만들겠습니다. 자세한 사항은 유튜브 문서에서 확인 가능합니다. from googleapiclient.discovery import build from googleapiclient.errors import HttpError from oauth2client.tools import argparser 검색에 필요한 패키지를 가져와줍니다. def build_youtube_search(developer_key): DEVELOPER_KEY = developer_key YOUTUBE_API_SERVICE_NAME="youtube" YOUTUBE_API_.. [Python] 네이버 영화 리뷰 데이터 수집 (2) 사용자를 기준으로 작성한 리뷰를 가져오는 코드입니다. 코드 확인 piaochung/naver_movie_scrap 네이버 영화 리뷰 데이터와 영화 데이터를 가져오는 프로그램입니다. Contribute to piaochung/naver_movie_scrap development by creating an account on GitHub. github.com 추가된 파일은 다음과 같습니다. user_sword_scrap.py: 사용자 고유 번호를 가져오는 코드입니다. user_review_info_scrap.py: 고유 번호에 따른 리뷰 데이터를 가져오는 코드입니다. 우선 user_sword_scrap.py의 이용 방법과 인자에 대해 알아보겠습니다. 다음은 인자의 내용과 타입입니다. 인자 내용 타입 movi.. 이전 1 2 3 4 다음