파이썬 프로그래밍

파이썬 python flask 모듈 설치 웹서버 사용 방법 예제

코니코니 2023. 1. 2. 16:00
반응형

파이썬 python flask 모듈 설치 웹서버 사용 방법 예제


Flask는 웹 애플리케이션을 만드는 데 유용한 도구와 기능을 제공하는 경량 Python 웹 프레임워크입니다. 특정 도구나 라이브러리가 필요하지 않기 때문에 마이크로프레임워크로 분류됩니다. 데이터베이스 추상화 계층, 양식 유효성 검사 또는 기존 타사 라이브러리가 공통 기능을 제공하는 기타 구성 요소가 없습니다.

그러나 Flask는 마치 Flask 자체에 구현된 것처럼 애플리케이션 기능을 추가할 수 있는 확장을 지원합니다. 개체 관계형 매퍼, 양식 유효성 검사, 업로드 처리, 다양한 개방형 인증 기술 및 여러 공통 프레임워크 관련 도구에 대한 확장이 있습니다. 확장 기능은 핵심 Flask 프로그램보다 훨씬 더 정기적으로 업데이트됩니다.

Flask는 일반적으로 Django보다 더 많은 제어 기능을 제공하는 MongoDB와 함께 사용됩니다. Flask는 간단한 앱을 시작하고 실행하기 위한 상용구 코드가 거의 없기 때문에 초보자도 쉽게 시작할 수 있습니다.

플라스크의 특징
Flask의 일부 기능은 다음과 같습니다.

1. ORM(Object Relational Mapper) 또는 그러한 기능을 포함하지 않는 마이크로 프레임워크입니다.
2. 개발자에게 유연성을 제공하고 가벼운 프레임워크입니다.
3. 시작하기 쉽습니다.
4. 작고 확장하기 쉬운 코어가 있습니다.
5. 사용 가능한 많은 타사 라이브러리가 있습니다.

플라스크 설치
Flask를 설치하려면 시스템에 Python이 설치되어 있어야 합니다. Python이 설치되어 있지 않은 경우 Python 웹 사이트에서 다운로드할 수 있습니다. 파이썬 설치 방법

Python이 설치되면 터미널을 열고 다음 명령을 실행하여 Flask를 설치합니다.

pip install Flask

 

이렇게 하면 Flask와 해당 종속 항목이 설치됩니다.

다음은 홈 페이지를 방문할 때 인사말을 표시하는 Flask 앱의 간단한 예입니다.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()

 

프로그램을 실행하면 Flask 개발 서버가 시작됩니다. 그리고 아래와 같은 로컬 사이트를 방문할 수 있습니다.

http://localhost:5000.

 

위 로컬 서버에 접속 시 "Hello, World!" 메시지가 표시되어야 합니다. 그리고 이렇게 열린 서버는 프로그램 종료 시 접속이 불가합니다.

 

 

템플릿 렌더링
Flask는 웹 애플리케이션을 빠르게 구축할 수 있게 해주는 Python용 웹 프레임워크입니다. 주요 기능 중 하나는 템플릿 및 데이터를 기반으로 동적 HTML 페이지를 생성할 수 있는 템플릿 렌더링입니다.

 

Flask에서 템플릿 렌더링을 사용하려면 Flask의 종속 항목인 Jinja2 템플릿 엔진을 설치해야 합니다. Python 패키지 관리자인 pip를 사용하여 Jinja2를 설치할 수 있습니다.

pip install Jinja2

 

Jinja2가 설치되면 Flask 애플리케이션에서 HTML 템플릿 파일을 만들 수 있습니다. 예를 들어 다음 내용으로 template.html이라는 파일을 만들 수 있습니다.

Copy code
<html>
  <head>
    <title>My Flask App</title>
  </head>
  <body>
    <h1>Welcome to my Flask app!</h1>
  </body>
</html>

 

Flask 앱에서 이 템플릿을 렌더링 하려면 flask 패키지에서 render_template 함수를 가져와 경로 함수에서 사용해야 합니다. 예를 들어 아래와 같습니다.

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('template.html')

 

이렇게 하면 template.html 템플릿이 렌더링 되고 HTML 응답으로 클라이언트에 반환됩니다.

render_template 함수 호출에 변수를 포함하여 경로 함수에서 템플릿으로 데이터를 전달할 수도 있습니다. 예를 들어 아래와 같습니다.

@app.route('/')
def index():
    name = 'John'
    return render_template('template.html', name=name)

 

템플릿에서 Jinja2 구문을 사용하여 name 변수에 액세스 할 수 있습니다.

<html>
  <head>
    <title>My Flask App</title>
  </head>
  <body>
    <h1>Welcome to my Flask app, {{ name }}!</h1>
  </body>
</html>

 

이렇게 하면 route 함수에서 전달된 값으로 대체된 이름 변수로 템플릿이 렌더링 됩니다.

반응형