분류 전체보기 (32) 썸네일형 리스트형 Django full text search (Gin index) Django 검색 쿼리 개선(Gin index) django에서 Q객체를 이용하여 검색 기능을 구현하였다. 검색어가 게시물의 제목(title)과 내용(description)에 있다면 검색이 되어야 한다. # views.py def get_queryset(self): q = self.request.query_params.get("search") queryset = ( CrawlingData.objects.annotate( fast_count=( Count( "emotion", filter=Q( emotion__emotion_type="F", emotion__is_deleted=False, ), ) ), is_bookmark=( Exists( self.request.user.bookmark_set.filte.. Django csv파일 다운로드 Django Export csv(zip, base64) django에서 csv 파일로 내보내기 django에서 db에 저장되어 있는 값들을 csv로 변환해서 다운로드 할 수 있도록 하는 것을 목표로 한다. Molecular 테이블에 model_output 필드에는 문자열이 저장되어 있다. # views.py def get(self, request, *args, **kwargs): files_name = Molecular.objects.filter(id=1).first().model_output["simul_plus"].keys() files_name_s = Molecular.objects.filter(id=1).first().model_output["custom_model"].keys() field_na.. Django Admin 커스텀 Django Admin 커스텀 매뉴얼 목적 💡 장고 관리자 커스텀을 보다 쉽게 진행을 위해 매뉴얼화 합니다. 간단한 요약 장고 관리자 커스텀 관련 내용 장고 관리자 커스텀 관련 전반적인 내용이 담겨있습니다. 문서 내용 목록 Admin에 모델 등록하기 관리자 페이지에 모델을 등록하는 방법 커스터마이징 옵션 관리자 페이지의 커스텀 옵션별 정리 커스터마이징 메소드 관리자 페이지의 메소드별 사용 방법 CSS, JavaScript 재정의 관리자 페이지의 CSS, JavaScript 사용자 지정 추가 필드에 커스텀 위젯 적용 관리자 페이지에서 사용하는 필드(fields)의 커스텀 위젯 적용 방법 Admin Temlate 재정의 관리자 페이지 사용자 지정 Template 사용 방법 Admin 목록 페이지(ListVi.. python 네이버 금융 웹 스크래핑 웹 스크래핑 3 네이버 금융 스크래핑 네이버 주식 페이지에서 순위별로 각각의 콘텐츠들을 뽑아오는 것을 목표로 스크래핑하였다. 먼저 저번과 마찬가지로 이 웹페이지는 JS로 구성되어있기 때문에 개발자 도구 network 탭에서 이 페이지 접속할 때 받는 특정 response를 이용해서 cURL을 복사한다. 그 후 https://curl.trillworks.com/ 에서 cURL을 Python requests로 변환해준다. import requests headers = { 'authority': 'finance.naver.com', 'cache-control': 'max-age=0', 'sec-ch-ua': '"Google Chrome";v="89", "Chromium";v="89", ";Not A Brand.. python 네이버 영화 댓글 스크래핑(iframe) 웹 스크래핑 2 이번엔 그 영화의 댓글을 가져오는 것을 목표로 스크래핑 하였다. 먼저 그 웹페이지의 url을 가져와야 하는데 내가 가져오려는 웹페이지는 iframe 으로 되어있어서 바로 가져올 수 없다. 그래서 다른 방식으로 가져와야한다. 이렇게 개발자 도구에서 network 탭에서 response를 얻어낸다. cURL을 복사한 뒤 이 사이트에서 cURL을 Python request로 변환한다. https://curl.trillworks.com/ import requests from bs4 import BeautifulSoup import requests headers = { 'authority': 'movie.naver.com', 'sec-ch-ua': '"Google Chrome";v="89", "C.. 파이썬 웹 스크래핑 웹 스크래핑하기 네이버 영화 사이트에 접속하여 영화의 제목들을 뽑아오는 것을 목표로 스크래핑을 하였다. 먼저 virtualenv 가상 환경에서 request와 BeatufulSoup 모듈을 설치한 후 진행하였다. import requests from bs4 import BeautifulSoup # response에 requests로 얻은 URL을 할당한다. response = requests.get('https://movie.naver.com/movie/running/current.nhn#') # soup에 BeautifulSoup모듈을 사용하여 URL을 텍스트로 변환하고 파싱한다. soup = BeauifulSoup(response.text, 'html.parser) 내가 스크랩하고 싶은 타겟이 HTM.. set과 frozenset 파이썬이 제공하는 다음과 같은 자료형들을 가리켜 ‘시퀀스 타입(sequence type)’이라 한다. 리스트 : list 클래스의 객체 튜플 : tuple 클래스의 객체 레인지 : range 클래스의 객체 문자열 : str 클래스의 객체 이들에겐 저장된 값의 순서 정보가 존재한다는 특징이 있다. 다음 자료형을 가리켜 ‘매핑 타입(mapping type)’이라 한다. 딕셔너리 : dict 클래스의 객체 매핑 타입은 본직적으로 저장된 값의 순서 또는 위치 정보를 기록하지 않는 자료형이다. 파이썬 3.7부터 저장된 값의 순서를 유지하기 시작했으나 그렇다고 본질이 바뀌지는 않는다. 때문에 이를 대상으로는 인덱싱이나 슬라이싱 연산이 불가능하다. 다음 두 자료형을 가리켜 ‘셋 타입(set type)’이라 한다. 셋.. dict & defaultdict 딕셔너리 새로운 키의 값을 저장할 때 해당 키가 존재하지 않는다면 오류가 발생한다. 그래서 그에 따른 처리를 미리 해 둘 필요가 있다. a = 'roboot' d = {} for k in a: if k in d: d[k] += 1 else: d[k] = 1 print(d) => {'r': 1, 'o': 2, 'b': 2, 't': 1} 위처럼 if ~ else 절을 이용하여 예외 처리가 가능하다. 그런데 이를 대신할 수 있는 방법 두 가지가 있다. setdefault 메서드와 defaultdict 함수이다. setdefault 메서드 a = 'robbot' d = {} for k in a: d[k] = d.setdefault(k, 0) + 1 print(d) => {'r': 1, 'o': 2, 'b': .. 이전 1 2 3 4 다음