목록라이브러리&프레임워크/Flask (4)
기록과 정리의 공간
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/eFGV3Q/btqHZHL5ZNm/AKLdAbei1TxHtW6kXU8Zi1/img.jpg)
참고 인프런 강의 REST API 관련 포스트 Flask로 REST API를 구현하는 방법 URI요청에 대한 응답을 JSON형식으로 작성하여 데이터를 반환하도록 만들면 된다. Flask에서는 딕셔너리 형태로 데이터를 만들고, 이를 jsonify() 메서드를 활용해 JSON포맷의 데이터로 만들 수 있다. 각 요청 메서드마다 파라미터값을 추출하는 방식이 다르다. GET/PUT/DELETE는 방식이 동일, POST만 다르다. GET/PUT/DELETE는 request.args.get('파라미터이름') 으로 가져온다. (파라미터가 가진 값을 가져옴) POST는 request.get_json() 으로 데이터를 가져온다. 이 때, 딕셔너리 형태로 가져오는데, 원하는 파라미터가 가지고 있는 값에 접근하..
1. 메시지 플래싱(Message Flashing) 플래싱 시스템은 기본적으로 요청의 끝에 메시지를 기록하고 그 다음 요청에서만 그 메시지에 접근할 수 있게 한다. 보통은 플래싱을 처리하는 레이아웃 템플릿과 결합되어 사용된다. (참고 링크) 2. flask.flash() / flask.get_flashed_messages() (API문서 링크) 메세지를 flash 하기 위하여 flash() 메소드를 사용하고 메세지를 가져오기 위하여 템플릿에서 사용할 수 있는 get_flashed_messages() 메소드를 사용할 수 있다. (참고 링크) 예제 코드 메시지 플래싱 기능을 사용하기 위해서는 SECRET_KEY를 반드시 설정해줘야 한다. 파이썬코드에서 flash()에 원하는 메시지를 인자로 넘겨준다. tes..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/FRu6g/btqGdEimdfM/Glkpb9JIopKWFybzvkPINK/img.jpg)
1. flask.redirect() (공식 문서 링크) 호출 될 경우, 클라이언트를 대상 위치로 리디렉션하는 응답 오브젝트 (WSGI 애플리케이션)를 리턴한다. 첫 번째 인자로 location을 받는다. 이는 응답이 redirect해야하는 위치를 의미한다. 2. flask.url_for() (공식 문서 링크1), (공식 문서 링크2) 라우팅이 설정된 함수에 대한 URL을 얻어내기 위해 사용할 수 있다. 첫 번째 인자로 함수의 이름을 받고, 두 번째 부터는 URL 룰의 변수 부분에 대한 다수의 키워드를 인자로 받는다. 참고로 url_for()는 html파일에서 jinja문법을 통해 사용될 수 있다. ex> 내용 예를들어 '/view'이런식으로 직접 url을 쓰지 않고, url_for()를 사..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/80uUW/btqF8YOxWYN/hmMWcU7OjuzouNflIoY7Wk/img.jpg)
(참고 링크)의 일부를 정리함 Flask의 기본 어플리케이션 Flask의 기본 어플리케이션은 다음과 같은 모습이다. 작성한 어플리케이션의 이름을 'flask.py'로 하지 않도록 주의한다. Flask와 자체 충돌이 나기 때문. #1 : Flask class를 import함 #2 : Flask class의 인스턴스를 생성. 인자로 모듈이나 패키지의 이름을 넣는다. ★인자로 모듈의 이름을 직접 넣지 않고, __name__으로 지정한 이유? : __name__은 현재 모듈(.py 파일)의 이름으로 정해지는데 해당 모듈이 시작점일 경우, __main__으로 변경되므로 이 부분을 해결하기 위해 __name__으로 지정 #3 : route() 데코레이터로 어떤 URL이 함수를 실행시키는지 알려준다. #4 : 함수는..