반응형

파이썬(Python)/Flask 34

파이썬 Static methods란? flask에서의 활용 방법

파이썬 Static methods란? Static methods(정적 메서드)는 파이썬 클래스 내에서 사용되는 메서드 중 하나로, 해당 클래스의 객체에 바인딩되지 않고 클래스 자체에 바인딩됩니다. 이것은 static method가 해당 클래스의 객체 없이 호출될 수 있다는 것을 의미하며, 객체의 상태를 수정할 수 없다는 것을 의미합니다. static method는 주로 객체 수명과 관련이 없는 유틸리티 기능을 구현하는 데 사용됩니다. Flask에서 정적 메서드(Static methods)는 다음과 같은 상황에서 사용될 수 있습니다. 유틸리티 함수 구현: Flask 애플리케이션에서 자주 사용되는 공통 작업을 처리하기 위해 정적 메서드를 사용할 수 있습니다. 예를 들어, 데이터베이스 연결, 문자열 처리, 파..

[Python] flask blueprints란? 예제로 쉽게 이해하기(블루프린트, 파이썬)

목차 [Python] flask blueprints란? blueprint란 왜 사용하지만 알면 쉽게 이해할 수 있습니다. 웹서버를 구축하다 보면 모듈의 구조에 따라 수정을 많이 하는 부분이 있고 적게 하는 부분이 있습니다. 나중에 수정을 쉽게 하기 위해 모듈화를 해놓으면 좋습니다. blueprint란 웹서버의 모듈(Module)화를 가능하게 해 줍니다. 그리고 URL 라우팅을 분리 해주기 때문에 독립적으로 정의할 수 있습니다. 즉, URL 관리가 효율적입니다. 다음으로 Templates이나 정적 파일을 독립적으로 분류 해서 관리하기 때문에 이후에 수정이나 찾을 때 유리 합니다. 마지막으로 확장성 측면에서 유리합니다. 나중에 새로운 기능을 추가하고 싶을 경우 만들어진 모듈에 추가 모듈을 만들면 되기 때문입..

[Python]flask의 errorhandler와 Exception 예제로 이해하기(파이썬)

목차 에러 핸들러와 Exception이란? 에러 핸들러는 프로그램이 예상치 못한 에러나 예외 상황을 처리하는 방법을 정의하는 코드 블록입니다. 이는 프로그램이 실행 중에 발생한 에러를 적절하게 처리하고, 사용자에게 적절한 안내를 제공하거나 시스템을 안정적으로 유지하기 위해 사용됩니다. 에러 핸들러는 프로그램의 다양한 상황에 따라 다양한 종류의 에러를 처리하기 위해 사용됩니다. 보통 HTTP 상태 코드에서 400번대와 500번대는 클라이언트(Client)의 에러를 의미합니다. Errorhandler는 이러한 에러 발생시 동작하는 함수 입니다. 아래 예제를 통해 쉽게 설명하겠습니다. 예외(Exception)는 프로그램 실행 중에 발생하는 문제시 동작하게 도와주는 함수 입니다. 이는 프로그램이 예상치 못한 상..

[Python]flask의 cors란? 예제를 통해 차이점 이해하기(flask_cors, 파이썬)

목차 [Python]flask의 cors란? CORS(Cross-Origin Resource Sharing)는 웹 애플리케이션에서 보안 상의 이유로 다른 도메인에서 리소스에 접근하는 것을 제한하는 브라우저 정책입니다. 동일 출처 정책(Same-Origin Policy)에 의해 웹 페이지는 자신과 동일한 출처에서만 리소스를 로드하도록 제한되어 있습니다. 이는 보안을 유지하고 악의적인 코드로부터 사용자 데이터를 보호하기 위한 중요한 기능입니다. CORS는 이러한 제한을 느슨하게 만들어 다른 도메인에서도 웹 페이지 리소스에 접근할 수 있도록 하는 메커니즘입니다. 서버 측에서 CORS 정책을 설정하면 특정 도메인들로부터의 요청을 수락하게 되며, 이를 통해 다른 도메인에서 웹 서버에 요청을 보내고 응답을 받을 수..

[Python]vue, axios란? 간단한 console 출력 예제 실습으로 이해하기(flask, 파이썬, log)

목차 [Python]vue, axios란? Vue.js는 사용자 인터페이스를 구축하기 위한 framework입니다. 즉, 작은 부분부터 점진적으로 도입하고 복잡한 웹 애플리케이션까지 구축할 수 있습니다. Vue.js는 화면을 구성하는 데 사용되며, 데이터 바인딩, 컴포넌트 기반 아키텍처, 라우팅, 상태 관리 등을 지원합니다. Vue는 프런트엔드 개발을 간소화하고 높은 가독성과 유연성을 제공하는데 사용됩니다. Axios는 웹 브라우저 및 Node.js 환경에서 HTTP 요청을 수행하는 JavaScript 라이브러리입니다. 이 라이브러리를 사용하여 서버와 통신하거나 API 요청을 수행할 수 있습니다. Axios는 XMLHttpRequest 또는 Fetch API와 비교해 더 간단하고 강력한 기능을 제공합니다..

[Python] flask Jinja2 for문, if문, 리스트 출력 예제 실습 및 풀이

목차 [Python] flask Jinja2 for문, 리스트 출력 예제 실습 및 풀이 앞서 포스트에서 Jinja2에 대해 알아보겠습니다. 이번에는 for문을 출력하는 예제를 통해 사용법을 한번 더 익혀 보겠습니다. 예제 코드 - app.py>> from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): data_list = ['Apple', 'Banana', 'Cherry', 'Date', 'Grape'] return render_template('index.html', data_list=data_list) if __name__ == '__main__': app.run(debug=True) 7번 라..

[Python]flask와 Jinja2 사용해서 변수 출력하기 예제(Variable)

목차 파이썬 Jinja2란? Jinja2는 파이썬 기반의 템플릿 엔진입니다. 템플릿 엔진은 웹 애플리케이션에서 동적으로 생성되는 HTML, XML, JSON 등의 문서를 만들기 위해 사용됩니다. Jinja2는 템플릿과 데이터를 결합하여 동적인 컨텐츠를 생성하고 출력하는 작업을 간편하게 할 수 있도록 도와줍니다. 언제 Jinja2를 사용할까요? 1. 분리된 로직과 디자인: Jinja2를 사용하면 프로그래밍 로직과 디자인(템플릿)을 분리할 수 있습니다. 이로써 개발자와 디자이너가 서로 독립적으로 작업할 수 있으며, 디자인의 변경이 로직에 영향을 미치지 않습니다. 2. 동적 컨텐츠 생성: Jinja2를 사용하면 웹 페이지에 동적으로 데이터를 삽입할 수 있습니다. 예를 들어, 사용자 이름, 프로필 정보, 뉴스 ..

[HTTP]GET과 POST차이, 장단점, flask로 예제 실습(Python)

목차 [HTTP]GET과 POST차이, 장단점 HTTP의 GET과 POST는 HTTP 프로토콜을 통해 클라이언트(웹 브라우저 등)와 서버 간에 데이터를 주고받는 두 가지 주요한 방식입니다. 간단하게 말하면 웹서버에 페이지를 요청하거나 정보를 전달할 때 사용하는 프로토콜입니다. GET이란? GET은 클라이언트가 서버에게 리소스의 정보를 요청할 때 사용하는 메서드입니다.URL의 쿼리 파라미터에 데이터를 포함시켜 요청합니다. 예를 들어 "example.com/resource?param1=value1¶m2=value2" 는 param1과 param2의 값을 웹서버로 전달할 수 있게 해줍니다. 일반적으로 데이터를 검색하거나 조회할 때 사용합니다. 웹상에서 페이지를 넘길때 보통 확인 가능 합니다. 그리고 G..

[Python] flask 간단한 REST API 구현하기(GET, 인자전달, Frontend, Backend)

목차 [Python] flask 간단한 REST API 구현하기 Flask 프레임워크를 사용하여 간단한 백엔드와 프론트엔드를 구현해보겠습니다. 이 예제에서는 JSON 데이터를 반환하는 간단한 API 엔드포인트와 HTML 템플릿을 렌더링하는 프론트엔드를 만들어보겠습니다. 예제 코드, login_test.py>> from flask import Flask, jsonify, request, render_template app = Flask(__name__) # 간단한 JSON 데이터를 반환하는 API 엔드포인트 @app.route('/api/data', methods=['GET']) def get_data(): name = request.args.get('name') data = {'message': f'He..

[Python] Flask로 파일 업로드 웹페이지 만들기(werkzeug, files, upload)

목차 Flask 파일 업로드 방법 HTML의 enctype 속성의 값을 multipart/form-data 로 하고 올리고자 하는 파일을 form을 사용해서 특정 URL에 보냅니다. Flask에서는 해당 URL에서 request.files 객체를 사용해서 저장합니다. 파일을 올릴때 werkzeug 라이브러리의 secure_filename 함수를 사용하면 안정적으로 올릴 수 있습니다. werkzeug (벨져크)는 웹서버 interface를 설계할때 규약에 맞춰 설계할 수 있게 도와 주는 툴이라고 보시면 됩니다. 예전 버전은 아래와 같이 import 하였습니다. from werkzeug import secure_filename 하지만 최근 버젼을 사용한다면 아래와 같은 에러 메세지가 나옵니다. ImportE..

반응형