IT/파이썬 2021. 2. 19.
파이썬 flask Jinja2: Check If Variable – Empty | Exists | Defined | True
이거 중요함. 체크안하고 render_template 함수에서 막 쓰면, 자꾸 선언되어 있지 않다고 오류가 막남... variable is undefined? 이런류의 에러, Exception 발생 들어올 수 도 있고 안 들어 올 수 도 있는 변수는 쓰기 전에 반드시 체크하고 사용하기 바람. {% if variable is defined %} variable is defined
IT/파이썬 2021. 2. 18.
파이썬 bool 함수로 bool 으로 변환 내용정리
착각하고 있던 것이 있어서, bool 이 그냥 0, 1 과 자동으로 변환될 줄 알았는데 문자 '0' 은 True 값으로 변환이 되네. 관련글 내용 참조 False >>> bool(0) False >>> bool(0.0) False >>> bool('') False >>> bool("") False True >>> bool(1) True >>> bool(123.123) True >>> bool("False") True >>> bool("0") True wikidocs.net/22202 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net BJ. Roberto Nickson 님의 사진, 출처: Pexels
IT/파이썬 2021. 2. 17.
파이썬 Mongoengine 에서 Document 삭제 방법 flask
파이썬 Mongoengine 에서 Document 삭제 방법 flask flask mongoengine 을 쓴다면 아래 방법으로 document 를 삭제할 수 있다. delete()로 간단하게 지울 수 있다. lunch = Food.objects.first() // Get a single 'Food' instance lunch.delete() // Delete it! 혹은 바로 찾아서 지우는 것도 가능하다. Food.objects(type="snacks").delete() Mongo shell 에서 지우려면 아래와 같이 수행하면 된다. > db.food.remove( { type : "snacks" } ) > db.monsters.deleteOne({ name: 'Zerp' }); 이 모든 내용은 아래 ..
IT/파이썬 2021. 2. 17.
파이썬 실행파일 만들기 - pyinstaller exe 실행파일
pyinstaller 로 실행파일 만드는 예제는 엄청 많다. 그중에 맘에 드는 블로그 글에서 핵심만 가져오자. 처음 만들때는 아래 명령으로 > pyinstaller -F main.py 두번째 부터는 이미 만들어진 main.spec 을 수정하면서 아래 명령으로 > pyinstaller -F main.spec 정상적으로 수행되면 작업폴더 내에 dist/ 아래에 실행파일이 생성됨을 확인해 볼 수 있다. 좀더 자세한 내용은 원본글을 존중하는 의미에서 아래 글로 방문해 주세요~~ developer-mistive.tistory.com/59 [pyinstaller] 파이썬 실행파일 만들어주는 pyinstaller 활용백서 해당 포스팅은 windows10 64bit / python 3.6 / IDE: pycharm /..
IT/파이썬 2021. 2. 15.
파이썬 현재 시간 정보 가져오기
How to get current date and time in Python 현재 시간 정보를 가져오는 파이썬 함수는 다들 알고 있듯이 > datetime.datetime.now() from datetime import datetime # datetime object containing current date and time now = datetime.now() print("now =", now) # dd/mm/YY H:M:S dt_string = now.strftime("%d/%m/%Y %H:%M:%S") print("date and time =", dt_string) 국가 시간대를 적용하고 싶다면 아래와 같이 사용 > datetime.datetime.now(datetime.timezone.utc) f..
IT/파이썬 2021. 2. 14.
파이썬 flask REST API JSON 과 HTML form 처리 동시에 하기
flask REST 형태로 JSON API 서버를 만들다 보니, 음 그냥 HTML을 통해 동일한 API 함수를 사용하고 싶어진다. 머 보내기 전에 받아서 JSON 변경해서 api 함수를 콜하는 방식의 proxy 같은 것을 써도 되지만 하나의 기능은 한 군데 구현하면 좋을 듯 해서 찾아보니... 좋은 함수가 있다. 이해하기도 쉽게 이름도 is_json 이다. Request 로 들어온 데이터가 JSON 인 경우와, 아닌 경우를 구분해 낼 수 있으니 원하는 형태의 구현이 가능할 듯 싶다. 간단하게 사용하고 있는 코드 일부만 가져와 보자. if request.is_json : body = request.get_json() print(body) retids = [] for item in body: customer..
IT/파이썬 2021. 2. 14.
파이썬 mongodb mongoengine 데이터 가져오기
mongoengine 에서 데이터 즉, Document 단위의 데이터를 가져오려면 기본적으로 클래스명.obects 를 하면 전체 Document 를 가져올 수 있다. 이전에 살펴본 대로, 여기서 필터링을 통해 원하는 조건의 데이터만 가져오려면 targetCollection = Customer.objects(id=customerid) 이렇게 조건식을 objects 에 매개변수로 넘겨주면 된다. 대부분 리스트로 리턴하게 되는데 조건에 맞는 하나의 데이터를 가져오려면 혹은 unique ID 를 조건으로 주고 하나의 데이터만 딱 가져오려면 그냥 obect 에 조건식을 주지 말고 하나 더 단어를 쓰자 customer = Customer.objects.get(id=body["customerid"]) 클래스명.obj..
IT/파이썬 2021. 2. 14.
파이썬 mongodb MongoEngine 사용시 filter 함수
mongoengine 을 쓸때, 데이터를 필터링해서 내는 조건을 적는 구문이 2개 나온다. (what-is-the-difference-of-objects-and-filter-in-mongoengine?) objects(필터링조건) objects.filter(필터링조건) 무슨 차이가 있어 찾아보다가 클리어 한 대답. 아무런 차이가 없다 There is no difference, one is an alias of the other: stackoverflow.com/questions/27340789/what-is-the-difference-of-objects-and-filter-in-mongoengine What is the difference of objects and filter in mongoengine..
IT/파이썬 2021. 2. 13.
파이썬 flask Response JSON 리스트로 내보내기
파이썬 flask Response JSON 리스트로 내보내기 이거 쉬운데, 막상 해보고 고생해서 작성해둠음... JSON 의 리스트로 보내려고 하니 막 오류가 많이 떠서 고생 무튼 정답은 아래 일단, 스트링의 리스트로 만든다음 리스트 통째로 json.dumps(리스트) 를 이용해서 JSON 객체들의 리스트 형태로 리턴해 줄 수 있다. import json resultJSONt = [{"count": result.count()}] resultJSON = json.dumps(resultJSONt) print(resultJSON) # result = Customer.objects().to_json() return Response(resultJSON, mimetype="application/json", stat..
IT/파이썬 2021. 2. 13.
파이썬 MongoDB 결과 페이지 단위로 나눠보기
찾아낸 결과가 엄청 많아서 페이지 단위로 접근하고 싶다면, 아래 쿼리를 꼭 배우세요~ db.orders.find().sort( { "_id": -1 } ).skip((page-1)*2).limit(2); 길게 보이지만, 원하는 결과를 찾아서, 정렬하고, 앞에 부분을 원하는 개수만큼 스킵하고, 제한된 숫자로 가져오고 그래도 모르면 쓸 수 없다는....자세한 내용은 아래 원본 글을 참고합시다. 글 저자 보호~~ velopert.com/516 [MongoDB] 강좌 4편 find() 메소드 활용 – sort(), limit(), skip() | VELOPERT.LOG 이번 강좌에선 find() 메소드를 더욱 더 활용하기 위해 필요한 sort(), limit(), skip() 메소드에 대해 배워보겠습니다. 그냥..
IT/파이썬 2021. 2. 9.
파이썬 - python -m venv fails: returned non-zero exit status 1
말도 안되는 에러가 많은게 파이썬이다. 워낙 버전이 지저분해서 잘 되던 것도 이렇게 에러가 난다. python -m venv fails: returned non-zero exit status 1 무튼 해결책은 이렇게 > python -m venv .venv --without-pip 뒤에 --without-pip 옵션을 적어주는 것이 핵심포인트!! 문제는 pip 가 가상환경에 설치되지 않는다는 것!!!! ㅎㅎ 이게 문제일듯한데. 가상환경은 생기니깐 일단 저장해둠 community.intel.com/t5/Intel-Distribution-for-Python/python-m-venv-fails-returned-non-zero-exit-status-1/td-p/1156751 python -m venv fails..
IT/파이썬 2021. 2. 2.
파이썬 pyqt5 pyside2 윈도우 창 상태 - maximized 확인
현재 창의 상태가 최대창 상태인지 알 수 있는 방법 흐흐 너무 쉽다. 아래 코드에서 self.isMaximized() 함수를 부르면 당장 알 수 있다. 이런 방법을 이용해서 F11 키를 누르면 창을 최대화 하고 ESC를 누르면 창을 닫는 간단한 코드를 아래에서 살펴보세요. def keyPressEvent(self, e): if e.key() == QtCore.Qt.Key_Escape: self.close() if e.key() == QtCore.Qt.Key_F11: if self.isMaximized(): self.showNormal() else: self.showMaximized() 이 예제 코드는 아래 글에서 가져왔습니다. stackoverflow.com/questions/14726296/how-to..
IT/파이썬 2021. 2. 2.
파이썬 JSON 읽기 에서 특정 키 가 있는지 먼저 확인하기
JSON을 읽기는 했는데, 원하는 키 가 있는지 부터 체크하고 싶다면 .get 함수를 이용하도록 하자. 아니면 KeyError: '원하는키' 를 만나게 되어서 로직으로 처리하기 어렵다. 아래처럼 JSON을 읽을 값을 self.config 에 저장해 두고 창 위치를 조정하고자 하는데 저장된 JSON 파일내에 내가 원하는 'height' 라는 키 값 자체가 있는지 모를때, 혹은 그때 기본값을 적용하고 싶다면 해당 키가 있는지 부터 조사해 내야 한다. .get('원하는키') 함수로 쉽게 이를 구현할 수 있다. 아래 코드를 참고하세요. if (self.config['Last].get('height')): startSize = QSize(self.config['Last']['width'], self.config[..