일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Nest.js
- nestjs
- Dinosaur
- jest
- dfs
- nodejs
- react
- Sequelize
- AWS
- Queue
- 공룡게임
- 게임
- flask
- 정렬
- cookie
- mongoose
- OCR
- typeORM
- JavaScript
- 자료구조
- Bull
- MongoDB
- Express
- GIT
- game
- class
- TypeScript
- MySQL
- Python
- Today
- Total
목록Python/Flask (8)
포시코딩
개요 및 문제발견 팀프로젝트에서 pymysql을 통해 mysql과 연동을 하기로 결정했다. app.py 각 함수에서 db를 호출해 쓰고 데이터 처리 후 db.close() 해주는 방식으로 만들었는데 만들고보니 코드가 너무 더러웠다. (before) db = pymysql.connect( host='127.0.0.1', user='root', db='dog94', password='dog94', charset='utf8') curs = db.cursor(pymysql.cursors.DictCursor) email_receive = request.form.get("email_give") curs.execute('SELECT * FROM user WHERE email = %s', (email_receive))..
개요 이번에 Logging 시스템을 구현하면서 예전에 Spring을 한창 쓸 때 eclipse에서 서버 실행할때마다 SPRING 이라고 대문짝만하게 콘솔에 찍히던게 생각이 났는데 나도 한번 그렇게 해보고 싶다. 라는 생각이 들어 좀 찾아봤다. 방법 찾기 logging art, console log art 이런식으로 검색을 좀 했더니 내가 궁금했던 부분에 대해 정리한 블로그를 발견했는데, 이런걸 Ascii Art 라고 부르는 모양이다. https://velog.io/@yubinheo/JS1 Console.log Styling, Ascii Art 아스키 아트 변환은 https://wepplication.github.io/tools/asciiArtGen/ 위 사이트에서 할 수 있다. velog.io 이 블로그..
개요 if __name__ == '__main__': app.logger.info("server on :: PORT="+str(PORT)) app.run('0.0.0.0', port=PORT, debug=True) flask 서버 실행시 위 app.logger.info 찍는 코드가 두번 실행되어 로그파일에 두번씩 찍히는걸 발견했다. 그말인즉, 서버도 두번씩 실행되고 있다는 얘기인데 앞으로 여러 상황을 고려할 때도 그렇고 고치고 가야할 문제로 파악했다. 문제해결 if __name__ == '__main__': app.logger.info("server on :: PORT="+str(PORT)) app.run('0.0.0.0', port=PORT, debug=True, use_reloader=False) 해..
개요 프로젝트 요구 조건에 로깅 시스템 구현이 있었는데 그나마 로그 관련 경험이 있고 개인 프로젝트에도 로깅 시스템을 추가할 필요성을 느끼고 있던터라 내가 담당해서 진행하기로 했다. Python Logger와 Flask Logger 중 선택해야 했는데 나는 Flask Logger를 사용했다. 세팅 방법 # 1. logging, os import import logging import os # 2. 로그 저장 폴더. 없을 시 생성 if not os.path.isdir('logs'): os.mkdir('logs') # 3. 기본 설정된 werkzeug 로그 끄기 logging.getLogger('werkzeug').disabled = True # 4. 저장위치, 레벨, 포맷 세팅 logging.basicCo..
개요 회원가입에서 회원정보와 이미지파일을 같이 전달하기 위해 방법을 찾다가 정보도 너무 없고 그나마 있는 정보들도 중구난방식이라 오랜 시간에 걸쳐 방법을 찾은 후 정리를 위해 포스팅함 잘못된 시도 저장 function test() { let file = document.querySelector('#input_file').files; let data = new FormData(); data.append('file', file); $.ajax({ type: "POST", url: '/file', data: data, processData: false, contentType: false, success: (res) => { console.log(res); } }); } @app.route('/file', me..
개요 Flask 상에서 MySQL과 연동해 CRUD 하는 법 정리 준비 먼저 API 서버를 준비하자 1. 프로젝트 세팅 2. Flask 서버 세팅 from flask import Flask, jsonify app = Flask(__name__) @app.route('/') def home(): print('hi') return jsonify({'result': 'done'}) if __name__ == '__main__': app.run('0.0.0.0', port=5000, debug=True) 3. 서버 실행 및 확인 app.py 코드 위에서 오른쪽 클릭 -> Run 'app' 화면에 뜬 파란글씨 중 하나로 컨트롤 + 클릭을 통해 들어가거나 localhost:5000에 접속하면 '/'로 접속할 때 리..
$.ajax({ type: "GET", // or "POST" url: "/member/comment", data: {target}, success: function (response) { GET 요청이든 POST 요청이든 javascript에서 data: 로 보낼 데이터를 전달하는것은 동일하다. 다만, flask에서 데이터를 받을 때 어떤 요청이냐에 따라 받는 방법이 달라진다. @app.route("/member/comment", methods=["GET"]) def member_comment_get(): target = request.args['target'] # ...생략 @app.route("/member/comment", methods=["POST"]) def member_comment_post..
windows에선 잘 되던 MongoDB 연결이 맥북에서 같은 코드로 테스트하니 연결을 못하는 현상을 발견했다. pymongo.errors.ServerSelectionTimeoutError 라는 에러가 뜨는데 local로 깔려있는 MongoDB로 연결하니 해당 에러 안뜨고 잘 접속이 됐다. 보안 문제로 보여 여러 검색을 한 결과 https://spartacodingclub.kr/community/fastqna/all/62d98ba9697492e292fd1b3f/mongoDB%20%20ServerSelectionTimeoutError%EA%B0%80%20%EA%B3%84%EC%86%8D%20%EB%B0%9C%EC%83%9D%ED%95%A9%EB%8B%88%EB%8B%A4 스파르타코딩클럽 5주 완성! 코딩을..