meaningful_life
meaningful life
meaningful_life
전체 방문자
오늘
어제
  • 분류 전체보기 (28)
    • Programming (28)
      • Backend (25)
      • Machine Learning (1)
      • Infrastructure (2)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • 쿠버네티스
  • python
  • install
  • 자바의신
  • kubectl
  • linux
  • git
  • 머신러닝
  • error
  • 백준
  • Kubernetes
  • ubuntu
  • Database
  • Spring
  • docker
  • stringbuilder
  • java
  • 자바
  • flask
  • ufw

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
meaningful_life

meaningful life

1.Flask 웹 서버 구축 시작
Programming/Backend

1.Flask 웹 서버 구축 시작

2022. 4. 20. 18:42
728x90

1. Flask 웹 서버 구축 시작

flask는 Python으로 아주 적은 코드로도 Backend WAS 서버를 생성 할 수 있는 훌륭한 framework입니다.

Backend 서버를 생성하는 다른 framework 를 경험해 보셨을 경우 아시겠지만 기본적으로 지원되는 기능이 아주 많습니다. 그렇기 때문에 잘 이용해서 편리하게 사용이 가능하기 때문에 좋습니다.

다만 이러한 기능이 구현이 되어 있다는 것은 독이 될 수도 있습니다

무슨 이유가 있을까요? Django를 보자면 .....

  • 구현되어 있는 틀로 인해 수정해서 사용하고 싶어도 쉽지 않다.
  • 나에게는 필요 없는 기능도 꾸역꾸역 다 포함되어 있다.
  • 엄청 크게 차이는 발생하지 않겠지만 확실히 flask 보다는 무거운 느낌일 것입니다.

이에 반해 flask는 이러한 장점과 단점이 보입니다

  • 매우 가볍다 *실제로 flask framework의 코드 수는 매우 적다고 알려져 있습니다.
  • 지원하는 기본 기능도 타 framework에 비해 떨어지지 않는다
  • 내가 원하는 기능만 구현해서 내 입맛대로 만들기 편리하다
  • 기능을 구현해야 하기 때문에 초보자가 도전하기 어려울 수 있다
  • 다만 그렇기 때문에 초보자가 실력을 늘리기에 더 할 나위 없이 좋을 수 있다

저는 이중에 가장 좋은 점이라고 생각하는 부분은 “내 입맛대로 바꾸기 편리하다” 입니다

직접 사용해보니 하나하나 만들어가는 재미가 있어서 더 좋은 것 같습니다.

 

한 가지 또 플라스크 공식문서에 보면 플라스크를 설명하며 micro라는 말을 사용하고 있습니다

 

 

2022년 4월 19일자로 구글 트렌드 python backend framework 3가지 조회 결과

2022년 12월 31일자로 구글 트렌드 python backend framework 3가지 조회 결과

  • 미국에서는 flask 점유율이 훨씬 높다는 것을 확인 할 수 있습니다.
  • 아시아권에서는 django 다음으로 flask 우세하네요


 

테스트 환경

  • OS : Windows
  • IDE : Pycharm Community Version
  • Python : 3.10v

위 Pycharm과 Python을 설치 후 진행합니다.

 

구조는 다음과 같이 짰습니다.

  • 폴더명 (프로젝트명) : toy
  1. flask_example 폴더 생성하여 Pycharm 접속
  2. 하위에 toy 폴더 생성
  3. 하위에 __init__.py 파일 생성 합니다

 

파이썬 가상 환경 접속

.\venv\Scripts\activate

 

 

flask 설치

pip install flask

 

코드 작성

toy.__init__.py

*위 파일명은 toy폴더의 __init__.py란 뜻으로 이해하시면 되겠습니다

from flask import Flask

def create_app():
    app = Flask(__name__)

    @app.route('/')
    def hello_world():
        return 'hello world!'

    return app

 

Flask 실행을 위한 환경 설정

windows Powershell 환경 터미널 입력

  • $env:FLASK_APP="toy:create_app()"
  • $env:FLASK_ENV="development"

Linux 환경 터미널 입력

  • export FLASK_APP="toy:create_app()"
  • export FLASK_ENV="development"

서버 실행

  • flask run

 

접속 테스트

플라스크는 개발용 서버의 기본 포트 번호는 5000번 입니다.

이 포트 번호는 변경 할 수 있는데요

나중에 해보겠습니다

아래 주소로 접속해보면 서버가 잘 작동되었다는 것을 알 수 있습니다.

http://127.0.0.1:5000

 

완성본 참고용으로는 https://github.com/kschoi93/flask-example 보시면 됩니다.

728x90

'Programming > Backend' 카테고리의 다른 글

3.Flask Database 연결 + Config 설정  (0) 2022.04.30
2.Flask MVC 패턴 환경 구축과 Blueprint  (0) 2022.04.22
MariaDB + SQLAlchemy + Flask에서 database 연결 끊김 현상  (0) 2022.03.21
Spring Request 데이터를 List 형태로 받으면 @Valid 체크가 안되는 현상 해결 방법  (1) 2021.12.04
협업을 위한 snake_case -> camelCase 변환 방법 @JsonNaming, @JsonProperty  (0) 2021.11.22
    'Programming/Backend' 카테고리의 다른 글
    • 3.Flask Database 연결 + Config 설정
    • 2.Flask MVC 패턴 환경 구축과 Blueprint
    • MariaDB + SQLAlchemy + Flask에서 database 연결 끊김 현상
    • Spring Request 데이터를 List 형태로 받으면 @Valid 체크가 안되는 현상 해결 방법
    meaningful_life
    meaningful_life
    하루하루가 의미 있고 가치 있는 삶이 될 수 있길. 그리고 나의 추억과 각종 지식의 기록과 이를 공유함으로써 다른 사람에게도 도움이 되길...

    티스토리툴바