반응형

flask 28

make_response 함수란? 예제를 통한 사용 방법 학습(flask, python)

make_response 함수란? 간단하게 flask 로 backend (서버)를 동작 시킬 때 외부에서 URI로 접속을 할 때 HTTP Status 상태와 함께 원하는 값을 쉽게 반환하기 위해 사용한다. HTTP Status Code (상태코드) 외부에서 HTTP 프로토콜로 요청을 하면 요청을 받은 서버는 자신의 상태에 따라 상태코드를 전송한다. 1xx : 숫자 백번대는 정보를 의미한다. 2xx : 숫자 이백번대는 요청의 성공 관련 상태 코드이다. 3xx : 숫자 삼백번대는 redirect 관련 상태 코드이다. 4xx : 숫자 사백번대는 에러 관련 상태 코드이다. make_reponse 예제 test.py 코드>> from flask import Flask, make_response, jsonify, ..

파이썬 flask에서 render_template 함수 예제로 이해해보기

render_template 란? render_template 함수는 flask에서 제공하는 함수로 templates에 저장된 html을 불러올 때 사용하는 함수 이다. 아래 예제를 통해 이해해보자. render_template 실습 예제 a_page.html >> a_page goto_b_page b_page.html>> b_page test.py>> from flask import Flask, render_template app = Flask(__name__) @app.route('/goto_a_page') def goto_a_page(): return render_template('a_page.html') @app.route('/b_page') def goto_b_page(): return rend..

REST API란? flask를 통해 예제 실습하기

REST API 개념 REST 는 REpresentational State Transfer 의 줄임말이다. 검색을 통해 찾아보면 일반적으로 자원(resource)을 이름으로 구분해서 자원의 정보를 주고 받는 것을 의미한다라고 나와 있다. 위처럼 정의로 의미를 알기는 어려워서 내가 사용하는 환경(파이썬)의 예를 통해 설명하려고 한다. flask를 통해서 인구 정보를 가진 웹을 구축하였다고 예를 들어 보자. 그리고 해당 인구 정보는 DB에서 관리된다. 인구 정보를 DB에서 가져오려고 하는데 해당 웹페이지를 모두 로딩할 필요없이 사전에 약속된 주소로 DB값만 요청이 가능하게 만들 수 있다. 여기서 약속된 주소를 자원(resource)을 표현(representation)하였다고 한다. 한마디로 (flask에서 ..

파이썬에서 @(골뱅이, 데코레이터라고 불림)이란? 사용방법과 예제

파이썬 @ (Decorator) 사용예제와 방법 #골뱅이 마크 사용 예시 @wraps(f) @app.route @login_required @templated() Python flask를 사용하다 보면 위 코드와 같이 Decorator로 이루어진 구문이 있는데 동작 방식은 알지만 실제 "at" 기호가 앞에 붙을때 어떻게 움직이는지는 잘 몰라 조사하게 되었다. def a_func(b_func): print("a_func") def c_func(): print("b_func") b_func() return c_func @a_func def d_func(): print("d_func") print("############") d_func() >>결과 a_func ############ b_func d_func..

flask 기본 예제 실행이 안될 때 (에러메세지도 안뜨는 경우)

flask.palletsprojects.com/en/1.1.x/quickstart/#a-minimal-application Quickstart — Flask Documentation (1.1.x) For web applications it’s crucial to react to the data a client sends to the server. In Flask this information is provided by the global request object. If you have some experience with Python you might be wondering how that object can be global and how flask.palletsprojects.com 위 링크의 기본..

블로그만들기(3) - (파이썬, summernote)웹에디터 게시판 글쓰기에 추가하기

블로그 만들기(2)에서 만들었던 내용에서 웹에디터를 추가해보겠다. 웹에디터란 흔히 티스토리나 네이버 블로그에서 글을 작성할때 색깔이나 편집을 편하게 하도록 만들어진 UI이다. 직접 만드는 것은 javascript 나 css에 굉장한 노력이 들어간다. 하지만 이를 간단히 해결하는 방법은 summernote라는 오픈 소스를 사용하는 것이다. 오픈 소스를 통해 아래와 같은 웹에디터를 가질 수 있다. 아래는 summernote 웹페이지 주소이다. 해당 링크로 들어가면 어떻게 사용하는지 자세히 설명 되어 있다. summernote.org/ Summernote - Super Simple WYSIWYG editor Super Simple WYSIWYG Editor on Bootstrap Summernote is a ..

블로그만들기(2) - 게시판 작성한 글 확인하기(파이썬)

블로그만들기(1)에서 게시판 글쓰는 환경을 구축하였다. 이제 글쓰면 바로 글 내용을 확인할 수있는 게시판 읽기 기능을 만들 것이다. 동작원리는 아래와 같다. 1. 게시물 쓰기가 완료 되면 해당 게시물을 읽는 페이지로 HTTP GET 요청을 보낸다. 2. 요청과 함께 db 인덱스 번호인 _id 값을 GET 신호와 같이 보낸다. 3. _id 값으로 db에 접근해서 읽고 html로 출력해준다. 코드 - bulletin_wr.html >> {{db_data.title}} {{db_data.pubdate}} {{db_data.contents}} 주석>> bulletin_rd 주소로 HTTP GET 요청을 받으면 flask를 통해 db_data를 전달 받고 받은 값을 html로 보여준다. 코드 - board_01...

파이썬 Flask 기능 정리 - render_template, jinja2

참조 링크 (link)>> flask.palletsprojects.com/en/1.1.x/quickstart/ Python flask에서 HTML과 변수 주고 받기 파이썬에서 HTML을 만들고 변경하는 것은 쉬운 작업이 아니다. application 보안을 위해 동적으로 바뀌는 값을 escape 처리 해서 작성해야하기 때문이다. Flask에서 jinja2 엔진을 공급한다. 간단하게 render_template 함수로 html 에 접근하면서 원하는 변수도 같이 보내 줄 수 있다. html 문서에서는 받은 변수 값을 {% %} {{ }} 괄호 안에서 사용 전자는 문법용이고 후자는 변수를 바로 사용할때 사용한다. 이렇게 사용이 가능하게 해주는 것을 jinja2 엔진이 가능하게 해주는 것이다. 아래 예제 코드를..

파이썬 Flask 기능 정리 - url_for, HTTP 요청(GET,POST,PUT,DELETE,OPTIONS)과 처리방법

참조 링크 (link)>> flask.palletsprojects.com/en/1.1.x/quickstart/ url_for 함수 url_for 함수는 url 주소값을 가져 온다. url_for( ) 괄호안에 route 함수 명을 넣으면 해당 route가 가지는 url 주소를 가져온다. 그리고 괄호에 다른 항목은 변수명이다. 변수 명을 넣으면 변수명을 포함한 주소값을 가져온다. 해당 내용은 아래 예제 코드를 통해 이해하는 것이 쉽다. 아래 코드에서 with 는 파일 같은 형식을 열때 사용한다. (파일은 with 로 열때 별도의 close 문을 사용하지 않아 편리하다. close 문에 __exit__으로 종료 한다. test_request_context 도 dir 로 읽어 보면 __exit__ 문이 있다 ..

파이썬 Flask 기능 정리 - route, 변수(variable)<괄호>로 보내기, url 표기 방법

참조 링크 (link)>> flask.palletsprojects.com/en/1.1.x/quickstart/ 1. Route 기능 라우트는 외부 웹브라우져에서 웹서버로 접근 시 해당 주소로 입력을 하게 되면 특정 함수가 실행되게 도와주는 기능을 한다. 아래 예제 코드는 /hello 라는 주소에 접근하면 return 으로 'Hello, World' 을 보낸다. 코드 >> from flask import * ######################################################### # Flask 선언 app = Flask(__name__, template_folder="templates") @app.route('/hello') def hello(): return 'Hello, ..

반응형