IT/파이썬 2021. 1. 28.
파이썬 리소스 파일 py 파일로 변환하기 - pyside2 rcc
qrc 파일이라고, 프로젝트에 쓰이는 아이콘 파일들의 정보를 저장하는 파일이 있다. 형태는 대략 아래와 같다. (실제 파일은 프로젝트 폴더 밑에 icons 폴더 아래에 두면 되겠죠? :) ) icons/play.png icons/pause.png icons/stop.png 이를 python code에서 불러 쓰기 위해 uic 로 ui 파일 변환해서 쓰듯이 rcc 로 리소스 파일을 py code 로 변환해서 사용해야 한다. (pyside2를 사용하고 있으므로 rcc 명령이름은 pyside2-rcc 네요.) pyside2-rcc icons.qrc -o rc_icons.py 그리고 사용할 파이썬 코드 위에 import 해서 사용하면 된다. import rc_icons stopIcon = QIcon(QPixma..
IT/파이썬 2021. 1. 27.
파이썬 Qt Designer 로 원 모양 진행바 만들어보기
QFrame 배경에 원모양의 색깔이 진행처럼 보이게 배경 프레임을 하나 만들어야 한다. 이걸 위해서 qconicalgradient() style 을 이용하는데, 간단하게 나중에 기억나도록만 요점 정리 일단 유튜브 보고 따라 해보니 아래와 같은 스타일 코드가 나오게 된다. 일단 전체 프레임 하나 놓고, 사이즈는 220 으로 하고 안에 또 프레임 하나 더 놓고, 사이즈는 200 으로 해서 가운데 둔다. 사이즈가 중요하다. 둥근 원으로 보이게 하려면 이 사이즈의 반 사이즈로 border-radius 를 적어두면 된다. 아래 예제는 100으로 하면 된다. QFrame { border-radius:100px; background-color: qconicalgradient(cx:0.5, cy:0.5, angle:9..
IT/파이썬 2021. 1. 26.
파이썬 flask mongodb document count 리턴해주기
이 간단한 것도 많이 찾아봐야 하네. 일단 몽고db collection에 있는 검색된 결과의 count를 가져오려면 그냥 .count() 함수를 부르면 되네. 이 결과를 JSON 형태의 리턴을 위해서는 flask 에 있는 jsonify 함수를 쓰면 되고 머 요청된 url 에 "/count" 라고 어미를 달고 들어오면 숫자를 넘겨주고 아니면 다큐먼트 객체들을 JSON으로 변경해서 돌려주는 코드 예제가 되겠다. search = "/count" if search in request.path: return jsonify(count=Result.objects.filter(orderitem=orderitemid).count()) else: result = Result.objects.filter(orderitem=o..
IT/파이썬 2021. 1. 25.
파이썬 flask post 받은 데이터 REST API 로 재 호출하기
웹페이지 폼데이터로 데이터 입력을 받은 이후에, 이미 만들어 놓은 REST API 서버(게이트웨이)에 해당 url를 호출하여 처리하고 싶다. 코드를 여러개 찾아보다가 아래와 같이 성공. 일단 request.form.to_dict() 함수로 form 데이터를 dict 형태로 가져온다음 requests.post 함수를 이용하여 재 호출 한다. 이때 매개변수에 json = dict 변환 객체 를 넣어주는 것이 키가 되겠다. 접속되는 서버의 주소가 변경될 수도 있으니 request.url_root 를 이용해서 접속 url 문자열을 만들어 주는 것도 주의깊에 보자. task = request.form.to_dict(flat=True) # Create a new resource print(request.url_ro..
IT/파이썬 2021. 1. 25.
파이썬 requests 로 POST PUT 처리하기 - Form 데이터 보내기
파이썬 코드로 폼 데이터를 보내 처리하려면, pip install requests 를 통해 requests 를 설치해야 한다. 접속해서 POST, PUT을 처리하는 예제 코드는 아래와 같다. params = { "param1": "test1", "param2": 123, "param3": "한글" } res = requests.post("http://127.0.0.1:5000/handle_post", data=json.dumps(params)) return res.text apt-info.github.io/%EA%B0%9C%EB%B0%9C/python-flask3-post/ (python) flask 3. Post 요청 처리 지난 시간에 이어 Flask로 Post 요청을 처리하는 방법에 대해 알아보겠습니..
IT/파이썬 2021. 1. 25.
파이썬 상속 구조 확인 - 상속된 순서를 보여주는 함수
요건 팁으로 따로 저장한다. 나중에 이것만 찾기는 힘드니 정답은 짠짠 xxxx.mro() 원본 글은 아래에 있다. teddylee777.github.io/python/python-inheritance Python 클래스의 상속 (inheritance) Python 클래스의 상속 (inheritance) 방법에 대하여 알아보겠습니다. teddylee777.github.io 상속 구조 확인 상속의 구조는 클래스명.mro()로 확인할 수 있습니다. 구조는 상속 받은 순서대로 표시됩니다. 모든 class는 object를 상속받기 때문에 항상 object가 마지막에 표기 됩니다. Student.mro() [__main__.Student, __main__.Person, object] BJ. Cole Keister ..
IT/파이썬 2021. 1. 25.
파이썬 람다 함수 - lambda inline function
파이썬 소스 코드에서 lambda 라는 문구가 뵈길래, 또 찾아봄 간단하게 말하면 inline 함수같은 모양새네.. 문법은 lambda [매개변수 리스트] : [구문들...매개변수를 여기서 활용하는 간략한 코드] (lambda x,y: x + y)(10, 20) >> 30 파이썬의 다양한 기능과 합쳐져서, 강력하게 쉽게 사용할 수 있는 예제를 다양하게 찾아볼 수 있다. 겸사 map, filter, reduce 함수 같은 것도 배우자. 많은 소스들 중에서 아래 링크에서 정보를 획득하도록 하자. 잘 정리된 것만 여기에 올린다. ㅋㅋ 원본 링크 글에 많이 가셔서들 보세요. 여기 아래는 내가 나중에 이해가 쉽도록 간략하게 몇개만 가져옴. teddylee777.github.io/python/lambda-map-f..
IT/파이썬 2021. 1. 20.
파이썬 - Flask 모듈을 Gunicorn 을 이용하여 Nginx 에 연동하기 - WSGI 서버
Flask 를 이용해서 파이썬 서비스를 개발했다. 그런데, 실행을 시켜보면 WSGI 서버를 사용해라는 경고가 떡하니 불안하게 만드네... WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. 요는 개발 단계에서 테스트로 flask 서버를 이용해도 무방하지만, 실제 배포 서비스 개시하는 production 단계에서는 WSGI 서버를 사용해라는 것이 요지이다. 아파치나 Nginx 서버에 연동해서 이 flask 모듈을 자동으로 불러 줄 수 있도록 설정해야 한다. 먼저 WSGI 를 설정하려고 찾아보다가 지-유니콘 이라는 모듈을 쓰면 아주 쉽고 성능도 괜찮게 쓸 수 있다는..
IT/파이썬 2021. 1. 20.
파이썬 flask 설정 값 읽어오기 - 파일에서
python flask 실행시에 설정 값을 파일에서 읽어오도록 설정, app.config.from_pyfile('파일명') from_envvar(variable_name) 있던데, 이 예제는 많이 있더라. 구글에서... 실제 설정 파일에는 아래처럼 변수=값 형태로 정보를 저장해 두면 된다. TESTING=False DEBUG=True 실제 mongoDB 설정값을 저장해 둔 예제를 가져와보면 파일 속에, MONGODB_SETTINGS = { # 'host': 'mongodb://localhost/DB이름' # 이런식으로 간단하게 하거나, 아래 처럼 'db': 'DB이름', 'host': '접속IP', 'port': 27017, #접속포트 'username':'아이디', # 접속 권한 아이디 'passwor..
IT/리눅스 2021. 1. 18.
우분투 리눅스 파이썬 버전 확인 필수 - 제길 python 2 가 기본이라뉘
윈도우 환경에서 잘 돌아가던 파이썬 코드를 그대로 올려서 기분좋게 run 시켰는데, 제길.... 제목 그대로다. 제길 파이썬 버전 2.x가 기본으로 사용되고 있다뉘....제길제길.. 먼가 설치가 자꾸 에러가 나더라니.. 찾아보니 많은 자료가 있네. 파이썬 버전 변경 방법으로 검색해 보면 된다. mickael-k.tistory.com/92 [Ubuntu] 파이썬(Python) 버전 변경 방법 기본 우분투를 깔고 터미널창을 열고 'python'이란 명령어를 치면 자동으로 python 2.x버전이 잡힙니다. 이번 포스트에서는 리눅스 Alternatives를 활용하여 Python의 기본 default인 2에서 새롭게 3으로 바 mickael-k.tistory.com 머 그러나, 깔끔하게 버전 2.x를 지워보려고..
IT/파이썬 2021. 1. 12.
파이썬 two way referencing in mongoengine - ReferenceField 팁과 문제 해결
아직 선언안된 테이블, 컬렉션 (머라 부르던) 객체를 레퍼런스 하는 필드를 추가하고 싶을때 NameError: name 'XXXX' is not defined 에러가 발생한다. 쉽게 해결하기 위해서는 레퍼런스 할 모델 클래스를 사용하기 전에 선언하면 좋긴한데 두 클랙스 사이에 각자가 각각 레퍼런스 하는 경우도 있기 때문에 순서로 해결하기 어려운 경우가 더 많다. 이중 참조 문제 해결 그런데, 아주 쉽게 해결이 되었다. github.com/MongoEngine/mongoengine/issues/1697 two way referencing in mongoengine · Issue #1697 · MongoEngine/mongoengine Hey i read here about two way referencin..
IT/파이썬 2021. 1. 12.
파이썬 venv 로 가상환경 설정하기
이제 파이썬이 기본적을 venv 라는 가상환경을 만들 수 있도록 패키지를 제공하고 있다. 별도의 다른 것을 설치할 필요가 없다. 아주 간단하게 아래와 같이 입력하면 간단하게 완료 된다 python -m venv 원하는가상환경이름 귀찮으면 그냥 아래와 같이 입력하면, 현재 디렉토리에 .venv 가상환경 설정 폴더가 만들어 진다. 헷갈리니깐 그냥 이름을 venv 로 입력해도 머 프로젝트 진행에 큰 무리가 없다. python -m venv .venv 가상환경을 만들 때 내가 시스템 기본 파이썬을 사용하면서 설치했던 전역 패키지들을 깔고 시작하는 방법 python -m venv 가상환경이름 --system-site-packages 그리고, git으로 관리하시는 분들은 .venv 폴더가 같이 관리될 필요는 없으니..