
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. 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. 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. 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. 11.
파이썬 flask - 접속 IP 어드레스 알아내기
간단하게 코드로 접속된 사용자의 IP address 를 알아낼 수 있다. 아래 글을 참고하시던지, 아래 코드를 참고하세요. ip_address = flask.request.remote_addr www.kite.com/python/answers/how-to-get-an-ip-address-using-flask-in-python Kite - Free AI Coding Assistant and Code Auto-Complete Plugin Code faster with Kite’s AI-powered autocomplete plugin for over 16 programming languages and 16 IDEs, featuring Multi-Line Completions. Works 100% locall..

IT/파이썬 2021. 1. 11.
파이썬 flask Mongodb 연결하기 - flask_mongoengine
파이썬 flask Mongodb 연결하기 flask_mongoengine 을 사용하는 경우, mongodb 연결 문자열을 만드는 코드를 참고용으로 남겨둔다. 보통 가장 기본적인 코드는 host 에 적혀있는 것인데, 사용자 로그인이 필요하다면 아래 코드를 참고하도록 하자. app.config['MONGODB_SETTINGS'] = { # 'host': 'mongodb://localhost/movie-bag' 'db': '데이터베이스이름', 'host': '접속 주소, 아이피 같은거', 'port': 27017, #기본포트넘버 'username':'사용자아이디', 'password':'사용자패스워드', 'authentication_source': 'admin' # 이줄은 그냥 넣어줘야 되더라구, 흠, 찾아봐..

IT/파이썬 2020. 12. 18.
파이썬 - Flask 사용법 - 틀 만들기
구글링을 열심히 해서, 좋은 한글 블로그 자료를 찾아 내었다. 여기 적힌 내용부터 완독하도록 하자. 파이썬 가상환경 venv 사용하기 (패키지 쉽게 관리하기) - 패키지 설치가 지저분 해지거나, 추후 환경을 바꿀때도 깔끔해 지도록 패키지 버전들이 충돌을 조금 없애기 위해 가상 환경으로 사용해라는 팁인데 머 구현 초기에는 일단 막 써라!! 파이썬 Flask 사용법 1 (완전 기초) - 기본적인 Flask 운영을 위한 기초 예제, route 를 하거나 페이지에 변수를 출력해 보거나 Hello World 를 해보거나 일단 이 과정을 격어 가야 한다. 파이썬 Flask 사용법 2 (Jinja2 템플릿, 변수, 조건문/반복문) - html template 를 이용하여 렌더링 할 수 있도록 설명 자료가 풍부하다. ..
